File Coverage

blib/lib/Cfn/Resource/AWS/AppMesh/VirtualNode.pm
Criterion Covered Total %
statement 224 224 100.0
branch n/a
condition n/a
subroutine 76 76 100.0
pod 0 2 0.0
total 300 302 99.3


line stmt bran cond sub pod time code
1             # AWS::AppMesh::VirtualNode generated from spec 21.0.0
2 1     1   854 use Moose::Util::TypeConstraints;
  1         3  
  1         10  
3              
4             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode',
5             from 'HashRef',
6             via { Cfn::Resource::Properties::AWS::AppMesh::VirtualNode->new( %$_ ) };
7              
8             package Cfn::Resource::AWS::AppMesh::VirtualNode {
9 1     1   2344 use Moose;
  1         4  
  1         9  
10             extends 'Cfn::Resource';
11             has Properties => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode', is => 'rw', coerce => 1);
12            
13             sub AttributeList {
14 1     1 0 6 [ 'Arn','MeshName','MeshOwner','ResourceOwner','Uid','VirtualNodeName' ]
15             }
16             sub supported_regions {
17 1     1 0 1253 [ '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::VirtualNode::TlsValidationContextFileTrust',
24             as 'Cfn::Value';
25              
26             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::TlsValidationContextFileTrust',
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::VirtualNode::TlsValidationContextFileTrust->new( %$_ );
33             }
34             };
35              
36             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::TlsValidationContextFileTrust {
37 1     1   7939 use Moose;
  1         3  
  1         6  
38 1     1   6982 use MooseX::StrictConstructor;
  1         2  
  1         10  
39             extends 'Cfn::Value::TypedValue';
40            
41             has CertificateChain => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
42             }
43              
44             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::TlsValidationContextAcmTrust',
45             as 'Cfn::Value';
46              
47             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::TlsValidationContextAcmTrust',
48             from 'HashRef',
49             via {
50             if (my $f = Cfn::TypeLibrary::try_function($_)) {
51             return $f
52             } else {
53             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::TlsValidationContextAcmTrust->new( %$_ );
54             }
55             };
56              
57             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::TlsValidationContextAcmTrust {
58 1     1   3881 use Moose;
  1         4  
  1         7  
59 1     1   6945 use MooseX::StrictConstructor;
  1         3  
  1         7  
60             extends 'Cfn::Value::TypedValue';
61            
62             has CertificateAuthorityArns => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
63             }
64              
65             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::TlsValidationContextTrust',
66             as 'Cfn::Value';
67              
68             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::TlsValidationContextTrust',
69             from 'HashRef',
70             via {
71             if (my $f = Cfn::TypeLibrary::try_function($_)) {
72             return $f
73             } else {
74             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::TlsValidationContextTrust->new( %$_ );
75             }
76             };
77              
78             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::TlsValidationContextTrust {
79 1     1   3686 use Moose;
  1         4  
  1         6  
80 1     1   7333 use MooseX::StrictConstructor;
  1         2  
  1         7  
81             extends 'Cfn::Value::TypedValue';
82            
83             has ACM => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::TlsValidationContextAcmTrust', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
84             has File => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::TlsValidationContextFileTrust', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
85             }
86              
87             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::TlsValidationContext',
88             as 'Cfn::Value';
89              
90             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::TlsValidationContext',
91             from 'HashRef',
92             via {
93             if (my $f = Cfn::TypeLibrary::try_function($_)) {
94             return $f
95             } else {
96             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::TlsValidationContext->new( %$_ );
97             }
98             };
99              
100             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::TlsValidationContext {
101 1     1   3981 use Moose;
  1         4  
  1         6  
102 1     1   7249 use MooseX::StrictConstructor;
  1         4  
  1         8  
103             extends 'Cfn::Value::TypedValue';
104            
105             has Trust => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::TlsValidationContextTrust', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
106             }
107              
108             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::ListenerTlsFileCertificate',
109             as 'Cfn::Value';
110              
111             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::ListenerTlsFileCertificate',
112             from 'HashRef',
113             via {
114             if (my $f = Cfn::TypeLibrary::try_function($_)) {
115             return $f
116             } else {
117             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::ListenerTlsFileCertificate->new( %$_ );
118             }
119             };
120              
121             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::ListenerTlsFileCertificate {
122 1     1   4382 use Moose;
  1         4  
  1         17  
123 1     1   8570 use MooseX::StrictConstructor;
  1         4  
  1         9  
124             extends 'Cfn::Value::TypedValue';
125            
126             has CertificateChain => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
127             has PrivateKey => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
128             }
129              
130             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::ListenerTlsAcmCertificate',
131             as 'Cfn::Value';
132              
133             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::ListenerTlsAcmCertificate',
134             from 'HashRef',
135             via {
136             if (my $f = Cfn::TypeLibrary::try_function($_)) {
137             return $f
138             } else {
139             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::ListenerTlsAcmCertificate->new( %$_ );
140             }
141             };
142              
143             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::ListenerTlsAcmCertificate {
144 1     1   4571 use Moose;
  1         3  
  1         7  
145 1     1   7403 use MooseX::StrictConstructor;
  1         3  
  1         6  
146             extends 'Cfn::Value::TypedValue';
147            
148             has CertificateArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
149             }
150              
151             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::Duration',
152             as 'Cfn::Value';
153              
154             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::Duration',
155             from 'HashRef',
156             via {
157             if (my $f = Cfn::TypeLibrary::try_function($_)) {
158             return $f
159             } else {
160             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::Duration->new( %$_ );
161             }
162             };
163              
164             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::Duration {
165 1     1   3812 use Moose;
  1         3  
  1         9  
166 1     1   7492 use MooseX::StrictConstructor;
  1         2  
  1         8  
167             extends 'Cfn::Value::TypedValue';
168            
169             has Unit => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
170             has Value => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
171             }
172              
173             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::ClientPolicyTls',
174             as 'Cfn::Value';
175              
176             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::ClientPolicyTls',
177             from 'HashRef',
178             via {
179             if (my $f = Cfn::TypeLibrary::try_function($_)) {
180             return $f
181             } else {
182             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::ClientPolicyTls->new( %$_ );
183             }
184             };
185              
186             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::ClientPolicyTls {
187 1     1   3629 use Moose;
  1         3  
  1         6  
188 1     1   6737 use MooseX::StrictConstructor;
  1         3  
  1         5  
189             extends 'Cfn::Value::TypedValue';
190            
191             has Enforce => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
192             has Ports => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
193             has Validation => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::TlsValidationContext', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
194             }
195              
196             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::VirtualNodeTcpConnectionPool',
197             as 'Cfn::Value';
198              
199             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::VirtualNodeTcpConnectionPool',
200             from 'HashRef',
201             via {
202             if (my $f = Cfn::TypeLibrary::try_function($_)) {
203             return $f
204             } else {
205             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::VirtualNodeTcpConnectionPool->new( %$_ );
206             }
207             };
208              
209             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::VirtualNodeTcpConnectionPool {
210 1     1   3681 use Moose;
  1         2  
  1         6  
211 1     1   6998 use MooseX::StrictConstructor;
  1         3  
  1         5  
212             extends 'Cfn::Value::TypedValue';
213            
214             has MaxConnections => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
215             }
216              
217             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::VirtualNodeHttpConnectionPool',
218             as 'Cfn::Value';
219              
220             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::VirtualNodeHttpConnectionPool',
221             from 'HashRef',
222             via {
223             if (my $f = Cfn::TypeLibrary::try_function($_)) {
224             return $f
225             } else {
226             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::VirtualNodeHttpConnectionPool->new( %$_ );
227             }
228             };
229              
230             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::VirtualNodeHttpConnectionPool {
231 1     1   3511 use Moose;
  1         4  
  1         15  
232 1     1   6610 use MooseX::StrictConstructor;
  1         3  
  1         6  
233             extends 'Cfn::Value::TypedValue';
234            
235             has MaxConnections => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
236             has MaxPendingRequests => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
237             }
238              
239             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::VirtualNodeHttp2ConnectionPool',
240             as 'Cfn::Value';
241              
242             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::VirtualNodeHttp2ConnectionPool',
243             from 'HashRef',
244             via {
245             if (my $f = Cfn::TypeLibrary::try_function($_)) {
246             return $f
247             } else {
248             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::VirtualNodeHttp2ConnectionPool->new( %$_ );
249             }
250             };
251              
252             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::VirtualNodeHttp2ConnectionPool {
253 1     1   3467 use Moose;
  1         5  
  1         5  
254 1     1   6726 use MooseX::StrictConstructor;
  1         2  
  1         5  
255             extends 'Cfn::Value::TypedValue';
256            
257             has MaxRequests => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
258             }
259              
260             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::VirtualNodeGrpcConnectionPool',
261             as 'Cfn::Value';
262              
263             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::VirtualNodeGrpcConnectionPool',
264             from 'HashRef',
265             via {
266             if (my $f = Cfn::TypeLibrary::try_function($_)) {
267             return $f
268             } else {
269             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::VirtualNodeGrpcConnectionPool->new( %$_ );
270             }
271             };
272              
273             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::VirtualNodeGrpcConnectionPool {
274 1     1   3922 use Moose;
  1         4  
  1         7  
275 1     1   6822 use MooseX::StrictConstructor;
  1         4  
  1         6  
276             extends 'Cfn::Value::TypedValue';
277            
278             has MaxRequests => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
279             }
280              
281             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::TcpTimeout',
282             as 'Cfn::Value';
283              
284             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::TcpTimeout',
285             from 'HashRef',
286             via {
287             if (my $f = Cfn::TypeLibrary::try_function($_)) {
288             return $f
289             } else {
290             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::TcpTimeout->new( %$_ );
291             }
292             };
293              
294             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::TcpTimeout {
295 1     1   3470 use Moose;
  1         3  
  1         6  
296 1     1   6764 use MooseX::StrictConstructor;
  1         5  
  1         7  
297             extends 'Cfn::Value::TypedValue';
298            
299             has Idle => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::Duration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
300             }
301              
302             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::ListenerTlsCertificate',
303             as 'Cfn::Value';
304              
305             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::ListenerTlsCertificate',
306             from 'HashRef',
307             via {
308             if (my $f = Cfn::TypeLibrary::try_function($_)) {
309             return $f
310             } else {
311             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::ListenerTlsCertificate->new( %$_ );
312             }
313             };
314              
315             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::ListenerTlsCertificate {
316 1     1   3566 use Moose;
  1         4  
  1         5  
317 1     1   6725 use MooseX::StrictConstructor;
  1         2  
  1         5  
318             extends 'Cfn::Value::TypedValue';
319            
320             has ACM => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::ListenerTlsAcmCertificate', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
321             has File => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::ListenerTlsFileCertificate', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
322             }
323              
324             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::HttpTimeout',
325             as 'Cfn::Value';
326              
327             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::HttpTimeout',
328             from 'HashRef',
329             via {
330             if (my $f = Cfn::TypeLibrary::try_function($_)) {
331             return $f
332             } else {
333             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::HttpTimeout->new( %$_ );
334             }
335             };
336              
337             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::HttpTimeout {
338 1     1   3499 use Moose;
  1         17  
  1         8  
339 1     1   6568 use MooseX::StrictConstructor;
  1         15  
  1         6  
340             extends 'Cfn::Value::TypedValue';
341            
342             has Idle => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::Duration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
343             has PerRequest => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::Duration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
344             }
345              
346             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::GrpcTimeout',
347             as 'Cfn::Value';
348              
349             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::GrpcTimeout',
350             from 'HashRef',
351             via {
352             if (my $f = Cfn::TypeLibrary::try_function($_)) {
353             return $f
354             } else {
355             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::GrpcTimeout->new( %$_ );
356             }
357             };
358              
359             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::GrpcTimeout {
360 1     1   3491 use Moose;
  1         2  
  1         6  
361 1     1   6741 use MooseX::StrictConstructor;
  1         4  
  1         5  
362             extends 'Cfn::Value::TypedValue';
363            
364             has Idle => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::Duration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
365             has PerRequest => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::Duration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
366             }
367              
368             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::FileAccessLog',
369             as 'Cfn::Value';
370              
371             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::FileAccessLog',
372             from 'HashRef',
373             via {
374             if (my $f = Cfn::TypeLibrary::try_function($_)) {
375             return $f
376             } else {
377             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::FileAccessLog->new( %$_ );
378             }
379             };
380              
381             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::FileAccessLog {
382 1     1   3460 use Moose;
  1         6  
  1         7  
383 1     1   6700 use MooseX::StrictConstructor;
  1         7  
  1         6  
384             extends 'Cfn::Value::TypedValue';
385            
386             has Path => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
387             }
388              
389             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::ClientPolicy',
390             as 'Cfn::Value';
391              
392             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::ClientPolicy',
393             from 'HashRef',
394             via {
395             if (my $f = Cfn::TypeLibrary::try_function($_)) {
396             return $f
397             } else {
398             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::ClientPolicy->new( %$_ );
399             }
400             };
401              
402             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::ClientPolicy {
403 1     1   3473 use Moose;
  1         3  
  1         17  
404 1     1   6761 use MooseX::StrictConstructor;
  1         7  
  1         6  
405             extends 'Cfn::Value::TypedValue';
406            
407             has TLS => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::ClientPolicyTls', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
408             }
409             subtype 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::VirtualNode::AwsCloudMapInstanceAttribute',
410             as 'Cfn::Value',
411             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
412             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
413              
414             coerce 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::VirtualNode::AwsCloudMapInstanceAttribute',
415             from 'HashRef',
416             via {
417             if (my $f = Cfn::TypeLibrary::try_function($_)) {
418             return $f
419             } else {
420             die 'Only accepts functions';
421             }
422             },
423             from 'ArrayRef',
424             via {
425             Cfn::Value::Array->new(Value => [
426             map {
427             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::AwsCloudMapInstanceAttribute')->coerce($_)
428             } @$_
429             ]);
430             };
431              
432             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::AwsCloudMapInstanceAttribute',
433             as 'Cfn::Value';
434              
435             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::AwsCloudMapInstanceAttribute',
436             from 'HashRef',
437             via {
438             if (my $f = Cfn::TypeLibrary::try_function($_)) {
439             return $f
440             } else {
441             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::AwsCloudMapInstanceAttribute->new( %$_ );
442             }
443             };
444              
445             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::AwsCloudMapInstanceAttribute {
446 1     1   3641 use Moose;
  1         3  
  1         6  
447 1     1   6663 use MooseX::StrictConstructor;
  1         3  
  1         9  
448             extends 'Cfn::Value::TypedValue';
449            
450             has Key => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
451             has Value => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
452             }
453              
454             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::VirtualServiceBackend',
455             as 'Cfn::Value';
456              
457             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::VirtualServiceBackend',
458             from 'HashRef',
459             via {
460             if (my $f = Cfn::TypeLibrary::try_function($_)) {
461             return $f
462             } else {
463             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::VirtualServiceBackend->new( %$_ );
464             }
465             };
466              
467             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::VirtualServiceBackend {
468 1     1   3456 use Moose;
  1         3  
  1         5  
469 1     1   6702 use MooseX::StrictConstructor;
  1         5  
  1         14  
470             extends 'Cfn::Value::TypedValue';
471            
472             has ClientPolicy => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::ClientPolicy', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
473             has VirtualServiceName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
474             }
475              
476             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::VirtualNodeConnectionPool',
477             as 'Cfn::Value';
478              
479             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::VirtualNodeConnectionPool',
480             from 'HashRef',
481             via {
482             if (my $f = Cfn::TypeLibrary::try_function($_)) {
483             return $f
484             } else {
485             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::VirtualNodeConnectionPool->new( %$_ );
486             }
487             };
488              
489             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::VirtualNodeConnectionPool {
490 1     1   3441 use Moose;
  1         4  
  1         5  
491 1     1   6923 use MooseX::StrictConstructor;
  1         5  
  1         4  
492             extends 'Cfn::Value::TypedValue';
493            
494             has GRPC => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::VirtualNodeGrpcConnectionPool', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
495             has HTTP => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::VirtualNodeHttpConnectionPool', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
496             has HTTP2 => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::VirtualNodeHttp2ConnectionPool', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
497             has TCP => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::VirtualNodeTcpConnectionPool', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
498             }
499              
500             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::PortMapping',
501             as 'Cfn::Value';
502              
503             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::PortMapping',
504             from 'HashRef',
505             via {
506             if (my $f = Cfn::TypeLibrary::try_function($_)) {
507             return $f
508             } else {
509             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::PortMapping->new( %$_ );
510             }
511             };
512              
513             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::PortMapping {
514 1     1   3495 use Moose;
  1         4  
  1         6  
515 1     1   6680 use MooseX::StrictConstructor;
  1         19  
  1         6  
516             extends 'Cfn::Value::TypedValue';
517            
518             has Port => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
519             has Protocol => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
520             }
521              
522             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::OutlierDetection',
523             as 'Cfn::Value';
524              
525             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::OutlierDetection',
526             from 'HashRef',
527             via {
528             if (my $f = Cfn::TypeLibrary::try_function($_)) {
529             return $f
530             } else {
531             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::OutlierDetection->new( %$_ );
532             }
533             };
534              
535             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::OutlierDetection {
536 1     1   3449 use Moose;
  1         3  
  1         14  
537 1     1   6714 use MooseX::StrictConstructor;
  1         4  
  1         6  
538             extends 'Cfn::Value::TypedValue';
539            
540             has BaseEjectionDuration => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::Duration', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
541             has Interval => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::Duration', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
542             has MaxEjectionPercent => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
543             has MaxServerErrors => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
544             }
545              
546             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::ListenerTls',
547             as 'Cfn::Value';
548              
549             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::ListenerTls',
550             from 'HashRef',
551             via {
552             if (my $f = Cfn::TypeLibrary::try_function($_)) {
553             return $f
554             } else {
555             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::ListenerTls->new( %$_ );
556             }
557             };
558              
559             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::ListenerTls {
560 1     1   3486 use Moose;
  1         4  
  1         4  
561 1     1   7076 use MooseX::StrictConstructor;
  1         3  
  1         5  
562             extends 'Cfn::Value::TypedValue';
563            
564             has Certificate => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::ListenerTlsCertificate', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
565             has Mode => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
566             }
567              
568             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::ListenerTimeout',
569             as 'Cfn::Value';
570              
571             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::ListenerTimeout',
572             from 'HashRef',
573             via {
574             if (my $f = Cfn::TypeLibrary::try_function($_)) {
575             return $f
576             } else {
577             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::ListenerTimeout->new( %$_ );
578             }
579             };
580              
581             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::ListenerTimeout {
582 1     1   3585 use Moose;
  1         3  
  1         6  
583 1     1   6645 use MooseX::StrictConstructor;
  1         2  
  1         5  
584             extends 'Cfn::Value::TypedValue';
585            
586             has GRPC => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::GrpcTimeout', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
587             has HTTP => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::HttpTimeout', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
588             has HTTP2 => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::HttpTimeout', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
589             has TCP => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::TcpTimeout', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
590             }
591              
592             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::HealthCheck',
593             as 'Cfn::Value';
594              
595             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::HealthCheck',
596             from 'HashRef',
597             via {
598             if (my $f = Cfn::TypeLibrary::try_function($_)) {
599             return $f
600             } else {
601             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::HealthCheck->new( %$_ );
602             }
603             };
604              
605             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::HealthCheck {
606 1     1   3502 use Moose;
  1         7  
  1         10  
607 1     1   6667 use MooseX::StrictConstructor;
  1         3  
  1         6  
608             extends 'Cfn::Value::TypedValue';
609            
610             has HealthyThreshold => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
611             has IntervalMillis => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
612             has Path => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
613             has Port => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
614             has Protocol => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
615             has TimeoutMillis => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
616             has UnhealthyThreshold => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
617             }
618              
619             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::DnsServiceDiscovery',
620             as 'Cfn::Value';
621              
622             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::DnsServiceDiscovery',
623             from 'HashRef',
624             via {
625             if (my $f = Cfn::TypeLibrary::try_function($_)) {
626             return $f
627             } else {
628             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::DnsServiceDiscovery->new( %$_ );
629             }
630             };
631              
632             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::DnsServiceDiscovery {
633 1     1   3550 use Moose;
  1         2  
  1         6  
634 1     1   6710 use MooseX::StrictConstructor;
  1         3  
  1         4  
635             extends 'Cfn::Value::TypedValue';
636            
637             has Hostname => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
638             }
639              
640             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::AwsCloudMapServiceDiscovery',
641             as 'Cfn::Value';
642              
643             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::AwsCloudMapServiceDiscovery',
644             from 'HashRef',
645             via {
646             if (my $f = Cfn::TypeLibrary::try_function($_)) {
647             return $f
648             } else {
649             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::AwsCloudMapServiceDiscovery->new( %$_ );
650             }
651             };
652              
653             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::AwsCloudMapServiceDiscovery {
654 1     1   3409 use Moose;
  1         3  
  1         5  
655 1     1   6966 use MooseX::StrictConstructor;
  1         3  
  1         4  
656             extends 'Cfn::Value::TypedValue';
657            
658             has Attributes => (isa => 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::VirtualNode::AwsCloudMapInstanceAttribute', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
659             has NamespaceName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
660             has ServiceName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
661             }
662              
663             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::AccessLog',
664             as 'Cfn::Value';
665              
666             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::AccessLog',
667             from 'HashRef',
668             via {
669             if (my $f = Cfn::TypeLibrary::try_function($_)) {
670             return $f
671             } else {
672             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::AccessLog->new( %$_ );
673             }
674             };
675              
676             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::AccessLog {
677 1     1   3453 use Moose;
  1         3  
  1         7  
678 1     1   6622 use MooseX::StrictConstructor;
  1         2  
  1         7  
679             extends 'Cfn::Value::TypedValue';
680            
681             has File => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::FileAccessLog', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
682             }
683              
684             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::ServiceDiscovery',
685             as 'Cfn::Value';
686              
687             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::ServiceDiscovery',
688             from 'HashRef',
689             via {
690             if (my $f = Cfn::TypeLibrary::try_function($_)) {
691             return $f
692             } else {
693             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::ServiceDiscovery->new( %$_ );
694             }
695             };
696              
697             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::ServiceDiscovery {
698 1     1   3383 use Moose;
  1         3  
  1         16  
699 1     1   6738 use MooseX::StrictConstructor;
  1         2  
  1         7  
700             extends 'Cfn::Value::TypedValue';
701            
702             has AWSCloudMap => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::AwsCloudMapServiceDiscovery', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
703             has DNS => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::DnsServiceDiscovery', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
704             }
705              
706             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::Logging',
707             as 'Cfn::Value';
708              
709             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::Logging',
710             from 'HashRef',
711             via {
712             if (my $f = Cfn::TypeLibrary::try_function($_)) {
713             return $f
714             } else {
715             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::Logging->new( %$_ );
716             }
717             };
718              
719             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::Logging {
720 1     1   3380 use Moose;
  1         3  
  1         6  
721 1     1   6665 use MooseX::StrictConstructor;
  1         3  
  1         9  
722             extends 'Cfn::Value::TypedValue';
723            
724             has AccessLog => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::AccessLog', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
725             }
726             subtype 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::VirtualNode::Listener',
727             as 'Cfn::Value',
728             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
729             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
730              
731             coerce 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::VirtualNode::Listener',
732             from 'HashRef',
733             via {
734             if (my $f = Cfn::TypeLibrary::try_function($_)) {
735             return $f
736             } else {
737             die 'Only accepts functions';
738             }
739             },
740             from 'ArrayRef',
741             via {
742             Cfn::Value::Array->new(Value => [
743             map {
744             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::Listener')->coerce($_)
745             } @$_
746             ]);
747             };
748              
749             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::Listener',
750             as 'Cfn::Value';
751              
752             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::Listener',
753             from 'HashRef',
754             via {
755             if (my $f = Cfn::TypeLibrary::try_function($_)) {
756             return $f
757             } else {
758             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::Listener->new( %$_ );
759             }
760             };
761              
762             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::Listener {
763 1     1   3599 use Moose;
  1         3  
  1         5  
764 1     1   6629 use MooseX::StrictConstructor;
  1         3  
  1         5  
765             extends 'Cfn::Value::TypedValue';
766            
767             has ConnectionPool => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::VirtualNodeConnectionPool', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
768             has HealthCheck => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::HealthCheck', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
769             has OutlierDetection => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::OutlierDetection', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
770             has PortMapping => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::PortMapping', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
771             has Timeout => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::ListenerTimeout', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
772             has TLS => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::ListenerTls', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
773             }
774              
775             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::BackendDefaults',
776             as 'Cfn::Value';
777              
778             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::BackendDefaults',
779             from 'HashRef',
780             via {
781             if (my $f = Cfn::TypeLibrary::try_function($_)) {
782             return $f
783             } else {
784             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::BackendDefaults->new( %$_ );
785             }
786             };
787              
788             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::BackendDefaults {
789 1     1   3540 use Moose;
  1         2  
  1         6  
790 1     1   6997 use MooseX::StrictConstructor;
  1         3  
  1         6  
791             extends 'Cfn::Value::TypedValue';
792            
793             has ClientPolicy => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::ClientPolicy', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
794             }
795             subtype 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::VirtualNode::Backend',
796             as 'Cfn::Value',
797             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
798             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
799              
800             coerce 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::VirtualNode::Backend',
801             from 'HashRef',
802             via {
803             if (my $f = Cfn::TypeLibrary::try_function($_)) {
804             return $f
805             } else {
806             die 'Only accepts functions';
807             }
808             },
809             from 'ArrayRef',
810             via {
811             Cfn::Value::Array->new(Value => [
812             map {
813             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::Backend')->coerce($_)
814             } @$_
815             ]);
816             };
817              
818             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::Backend',
819             as 'Cfn::Value';
820              
821             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::Backend',
822             from 'HashRef',
823             via {
824             if (my $f = Cfn::TypeLibrary::try_function($_)) {
825             return $f
826             } else {
827             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::Backend->new( %$_ );
828             }
829             };
830              
831             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::Backend {
832 1     1   3625 use Moose;
  1         3  
  1         5  
833 1     1   6668 use MooseX::StrictConstructor;
  1         2  
  1         4  
834             extends 'Cfn::Value::TypedValue';
835            
836             has VirtualService => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::VirtualServiceBackend', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
837             }
838              
839             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::VirtualNodeSpec',
840             as 'Cfn::Value';
841              
842             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::VirtualNodeSpec',
843             from 'HashRef',
844             via {
845             if (my $f = Cfn::TypeLibrary::try_function($_)) {
846             return $f
847             } else {
848             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::VirtualNodeSpec->new( %$_ );
849             }
850             };
851              
852             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualNode::VirtualNodeSpec {
853 1     1   3569 use Moose;
  1         2  
  1         5  
854 1     1   6622 use MooseX::StrictConstructor;
  1         8  
  1         5  
855             extends 'Cfn::Value::TypedValue';
856            
857             has BackendDefaults => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::BackendDefaults', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
858             has Backends => (isa => 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::VirtualNode::Backend', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
859             has Listeners => (isa => 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::VirtualNode::Listener', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
860             has Logging => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::Logging', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
861             has ServiceDiscovery => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::ServiceDiscovery', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
862             }
863              
864             package Cfn::Resource::Properties::AWS::AppMesh::VirtualNode {
865 1     1   3354 use Moose;
  1         4  
  1         6  
866 1     1   6972 use MooseX::StrictConstructor;
  1         3  
  1         4  
867             extends 'Cfn::Resource::Properties';
868            
869             has MeshName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
870             has MeshOwner => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
871             has Spec => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualNode::VirtualNodeSpec', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
872             has Tags => (isa => 'ArrayOfCfn::Resource::Properties::TagType', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
873             has VirtualNodeName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
874             }
875              
876             1;
877             ### main pod documentation begin ###
878              
879             =encoding UTF-8
880              
881             =head1 NAME
882              
883             Cfn::Resource::AWS::AppMesh::VirtualNode - Cfn resource for AWS::AppMesh::VirtualNode
884              
885             =head1 DESCRIPTION
886              
887             This module implements a Perl module that represents the CloudFormation object AWS::AppMesh::VirtualNode.
888              
889             See L<Cfn> for more information on how to use it.
890              
891             =head1 AUTHOR
892              
893             Jose Luis Martinez
894             CAPSiDE
895             jlmartinez@capside.com
896              
897             =head1 COPYRIGHT and LICENSE
898              
899             Copyright (c) 2013 by CAPSiDE
900             This code is distributed under the Apache 2 License. The full text of the
901             license can be found in the LICENSE file included with this module.
902              
903             =cut