File Coverage

blib/lib/Cfn/Resource/AWS/AppMesh/VirtualGateway.pm
Criterion Covered Total %
statement 146 146 100.0
branch n/a
condition n/a
subroutine 50 50 100.0
pod 0 2 0.0
total 196 198 98.9


line stmt bran cond sub pod time code
1             # AWS::AppMesh::VirtualGateway generated from spec 21.0.0
2 1     1   815 use Moose::Util::TypeConstraints;
  1         4  
  1         11  
3              
4             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway',
5             from 'HashRef',
6             via { Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway->new( %$_ ) };
7              
8             package Cfn::Resource::AWS::AppMesh::VirtualGateway {
9 1     1   2277 use Moose;
  1         5  
  1         15  
10             extends 'Cfn::Resource';
11             has Properties => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway', is => 'rw', coerce => 1);
12            
13             sub AttributeList {
14 1     1 0 6 [ 'Arn','MeshName','MeshOwner','ResourceOwner','Uid','VirtualGatewayName' ]
15             }
16             sub supported_regions {
17 1     1 0 1170 [ 'ap-east-1','ap-northeast-1','ap-northeast-2','ap-south-1','ap-southeast-2','ca-central-1','eu-central-1','eu-north-1','eu-west-1','eu-west-2','eu-west-3','me-south-1','sa-east-1','us-east-1','us-east-2','us-west-1','us-west-2' ]
18             }
19             }
20              
21              
22              
23             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayTlsValidationContextFileTrust',
24             as 'Cfn::Value';
25              
26             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayTlsValidationContextFileTrust',
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::VirtualGateway::VirtualGatewayTlsValidationContextFileTrust->new( %$_ );
33             }
34             };
35              
36             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayTlsValidationContextFileTrust {
37 1     1   7625 use Moose;
  1         3  
  1         5  
38 1     1   6692 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::VirtualGateway::VirtualGatewayTlsValidationContextAcmTrust',
45             as 'Cfn::Value';
46              
47             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayTlsValidationContextAcmTrust',
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::VirtualGateway::VirtualGatewayTlsValidationContextAcmTrust->new( %$_ );
54             }
55             };
56              
57             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayTlsValidationContextAcmTrust {
58 1     1   3727 use Moose;
  1         4  
  1         6  
59 1     1   7016 use MooseX::StrictConstructor;
  1         3  
  1         6  
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::VirtualGateway::VirtualGatewayTlsValidationContextTrust',
66             as 'Cfn::Value';
67              
68             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayTlsValidationContextTrust',
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::VirtualGateway::VirtualGatewayTlsValidationContextTrust->new( %$_ );
75             }
76             };
77              
78             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayTlsValidationContextTrust {
79 1     1   3361 use Moose;
  1         3  
  1         7  
80 1     1   6758 use MooseX::StrictConstructor;
  1         3  
  1         8  
81             extends 'Cfn::Value::TypedValue';
82            
83             has ACM => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayTlsValidationContextAcmTrust', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
84             has File => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayTlsValidationContextFileTrust', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
85             }
86              
87             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayTlsValidationContext',
88             as 'Cfn::Value';
89              
90             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayTlsValidationContext',
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::VirtualGateway::VirtualGatewayTlsValidationContext->new( %$_ );
97             }
98             };
99              
100             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayTlsValidationContext {
101 1     1   3439 use Moose;
  1         2  
  1         7  
102 1     1   6800 use MooseX::StrictConstructor;
  1         2  
  1         6  
103             extends 'Cfn::Value::TypedValue';
104            
105             has Trust => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayTlsValidationContextTrust', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
106             }
107              
108             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayListenerTlsFileCertificate',
109             as 'Cfn::Value';
110              
111             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayListenerTlsFileCertificate',
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::VirtualGateway::VirtualGatewayListenerTlsFileCertificate->new( %$_ );
118             }
119             };
120              
121             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayListenerTlsFileCertificate {
122 1     1   3600 use Moose;
  1         3  
  1         10  
123 1     1   7083 use MooseX::StrictConstructor;
  1         2  
  1         7  
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::VirtualGateway::VirtualGatewayListenerTlsAcmCertificate',
131             as 'Cfn::Value';
132              
133             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayListenerTlsAcmCertificate',
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::VirtualGateway::VirtualGatewayListenerTlsAcmCertificate->new( %$_ );
140             }
141             };
142              
143             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayListenerTlsAcmCertificate {
144 1     1   3669 use Moose;
  1         3  
  1         6  
145 1     1   7283 use MooseX::StrictConstructor;
  1         2  
  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::VirtualGateway::VirtualGatewayListenerTlsCertificate',
152             as 'Cfn::Value';
153              
154             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayListenerTlsCertificate',
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::VirtualGateway::VirtualGatewayListenerTlsCertificate->new( %$_ );
161             }
162             };
163              
164             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayListenerTlsCertificate {
165 1     1   3668 use Moose;
  1         4  
  1         6  
166 1     1   7770 use MooseX::StrictConstructor;
  1         3  
  1         8  
167             extends 'Cfn::Value::TypedValue';
168            
169             has ACM => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayListenerTlsAcmCertificate', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
170             has File => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayListenerTlsFileCertificate', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
171             }
172              
173             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayHttpConnectionPool',
174             as 'Cfn::Value';
175              
176             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayHttpConnectionPool',
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::VirtualGateway::VirtualGatewayHttpConnectionPool->new( %$_ );
183             }
184             };
185              
186             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayHttpConnectionPool {
187 1     1   3948 use Moose;
  1         3  
  1         7  
188 1     1   7418 use MooseX::StrictConstructor;
  1         3  
  1         7  
189             extends 'Cfn::Value::TypedValue';
190            
191             has MaxConnections => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
192             has MaxPendingRequests => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
193             }
194              
195             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayHttp2ConnectionPool',
196             as 'Cfn::Value';
197              
198             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayHttp2ConnectionPool',
199             from 'HashRef',
200             via {
201             if (my $f = Cfn::TypeLibrary::try_function($_)) {
202             return $f
203             } else {
204             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayHttp2ConnectionPool->new( %$_ );
205             }
206             };
207              
208             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayHttp2ConnectionPool {
209 1     1   3921 use Moose;
  1         2  
  1         9  
210 1     1   7421 use MooseX::StrictConstructor;
  1         3  
  1         9  
211             extends 'Cfn::Value::TypedValue';
212            
213             has MaxRequests => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
214             }
215              
216             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayGrpcConnectionPool',
217             as 'Cfn::Value';
218              
219             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayGrpcConnectionPool',
220             from 'HashRef',
221             via {
222             if (my $f = Cfn::TypeLibrary::try_function($_)) {
223             return $f
224             } else {
225             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayGrpcConnectionPool->new( %$_ );
226             }
227             };
228              
229             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayGrpcConnectionPool {
230 1     1   3753 use Moose;
  1         3  
  1         8  
231 1     1   7132 use MooseX::StrictConstructor;
  1         3  
  1         7  
232             extends 'Cfn::Value::TypedValue';
233            
234             has MaxRequests => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
235             }
236              
237             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayFileAccessLog',
238             as 'Cfn::Value';
239              
240             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayFileAccessLog',
241             from 'HashRef',
242             via {
243             if (my $f = Cfn::TypeLibrary::try_function($_)) {
244             return $f
245             } else {
246             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayFileAccessLog->new( %$_ );
247             }
248             };
249              
250             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayFileAccessLog {
251 1     1   3530 use Moose;
  1         3  
  1         5  
252 1     1   6798 use MooseX::StrictConstructor;
  1         3  
  1         7  
253             extends 'Cfn::Value::TypedValue';
254            
255             has Path => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
256             }
257              
258             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayClientPolicyTls',
259             as 'Cfn::Value';
260              
261             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayClientPolicyTls',
262             from 'HashRef',
263             via {
264             if (my $f = Cfn::TypeLibrary::try_function($_)) {
265             return $f
266             } else {
267             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayClientPolicyTls->new( %$_ );
268             }
269             };
270              
271             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayClientPolicyTls {
272 1     1   3689 use Moose;
  1         3  
  1         7  
273 1     1   7595 use MooseX::StrictConstructor;
  1         3  
  1         7  
274             extends 'Cfn::Value::TypedValue';
275            
276             has Enforce => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
277             has Ports => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
278             has Validation => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayTlsValidationContext', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
279             }
280              
281             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayPortMapping',
282             as 'Cfn::Value';
283              
284             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayPortMapping',
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::VirtualGateway::VirtualGatewayPortMapping->new( %$_ );
291             }
292             };
293              
294             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayPortMapping {
295 1     1   4238 use Moose;
  1         3  
  1         5  
296 1     1   6870 use MooseX::StrictConstructor;
  1         3  
  1         5  
297             extends 'Cfn::Value::TypedValue';
298            
299             has Port => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
300             has Protocol => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
301             }
302              
303             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayListenerTls',
304             as 'Cfn::Value';
305              
306             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayListenerTls',
307             from 'HashRef',
308             via {
309             if (my $f = Cfn::TypeLibrary::try_function($_)) {
310             return $f
311             } else {
312             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayListenerTls->new( %$_ );
313             }
314             };
315              
316             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayListenerTls {
317 1     1   3388 use Moose;
  1         7  
  1         5  
318 1     1   6755 use MooseX::StrictConstructor;
  1         2  
  1         5  
319             extends 'Cfn::Value::TypedValue';
320            
321             has Certificate => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayListenerTlsCertificate', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
322             has Mode => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
323             }
324              
325             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayHealthCheckPolicy',
326             as 'Cfn::Value';
327              
328             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayHealthCheckPolicy',
329             from 'HashRef',
330             via {
331             if (my $f = Cfn::TypeLibrary::try_function($_)) {
332             return $f
333             } else {
334             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayHealthCheckPolicy->new( %$_ );
335             }
336             };
337              
338             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayHealthCheckPolicy {
339 1     1   3654 use Moose;
  1         4  
  1         6  
340 1     1   6916 use MooseX::StrictConstructor;
  1         2  
  1         5  
341             extends 'Cfn::Value::TypedValue';
342            
343             has HealthyThreshold => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
344             has IntervalMillis => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
345             has Path => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
346             has Port => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
347             has Protocol => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
348             has TimeoutMillis => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
349             has UnhealthyThreshold => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
350             }
351              
352             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayConnectionPool',
353             as 'Cfn::Value';
354              
355             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayConnectionPool',
356             from 'HashRef',
357             via {
358             if (my $f = Cfn::TypeLibrary::try_function($_)) {
359             return $f
360             } else {
361             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayConnectionPool->new( %$_ );
362             }
363             };
364              
365             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayConnectionPool {
366 1     1   3504 use Moose;
  1         5  
  1         9  
367 1     1   6698 use MooseX::StrictConstructor;
  1         5  
  1         6  
368             extends 'Cfn::Value::TypedValue';
369            
370             has GRPC => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayGrpcConnectionPool', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
371             has HTTP => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayHttpConnectionPool', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
372             has HTTP2 => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayHttp2ConnectionPool', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
373             }
374              
375             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayClientPolicy',
376             as 'Cfn::Value';
377              
378             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayClientPolicy',
379             from 'HashRef',
380             via {
381             if (my $f = Cfn::TypeLibrary::try_function($_)) {
382             return $f
383             } else {
384             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayClientPolicy->new( %$_ );
385             }
386             };
387              
388             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayClientPolicy {
389 1     1   3482 use Moose;
  1         2  
  1         5  
390 1     1   6803 use MooseX::StrictConstructor;
  1         2  
  1         13  
391             extends 'Cfn::Value::TypedValue';
392            
393             has TLS => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayClientPolicyTls', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
394             }
395              
396             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayAccessLog',
397             as 'Cfn::Value';
398              
399             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayAccessLog',
400             from 'HashRef',
401             via {
402             if (my $f = Cfn::TypeLibrary::try_function($_)) {
403             return $f
404             } else {
405             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayAccessLog->new( %$_ );
406             }
407             };
408              
409             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayAccessLog {
410 1     1   3390 use Moose;
  1         3  
  1         7  
411 1     1   6677 use MooseX::StrictConstructor;
  1         6  
  1         7  
412             extends 'Cfn::Value::TypedValue';
413            
414             has File => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayFileAccessLog', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
415             }
416              
417             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayLogging',
418             as 'Cfn::Value';
419              
420             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayLogging',
421             from 'HashRef',
422             via {
423             if (my $f = Cfn::TypeLibrary::try_function($_)) {
424             return $f
425             } else {
426             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayLogging->new( %$_ );
427             }
428             };
429              
430             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayLogging {
431 1     1   3395 use Moose;
  1         4  
  1         5  
432 1     1   6969 use MooseX::StrictConstructor;
  1         3  
  1         5  
433             extends 'Cfn::Value::TypedValue';
434            
435             has AccessLog => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayAccessLog', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
436             }
437             subtype 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayListener',
438             as 'Cfn::Value',
439             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
440             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
441              
442             coerce 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayListener',
443             from 'HashRef',
444             via {
445             if (my $f = Cfn::TypeLibrary::try_function($_)) {
446             return $f
447             } else {
448             die 'Only accepts functions';
449             }
450             },
451             from 'ArrayRef',
452             via {
453             Cfn::Value::Array->new(Value => [
454             map {
455             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayListener')->coerce($_)
456             } @$_
457             ]);
458             };
459              
460             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayListener',
461             as 'Cfn::Value';
462              
463             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayListener',
464             from 'HashRef',
465             via {
466             if (my $f = Cfn::TypeLibrary::try_function($_)) {
467             return $f
468             } else {
469             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayListener->new( %$_ );
470             }
471             };
472              
473             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayListener {
474 1     1   3641 use Moose;
  1         3  
  1         5  
475 1     1   6664 use MooseX::StrictConstructor;
  1         10  
  1         5  
476             extends 'Cfn::Value::TypedValue';
477            
478             has ConnectionPool => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayConnectionPool', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
479             has HealthCheck => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayHealthCheckPolicy', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
480             has PortMapping => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayPortMapping', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
481             has TLS => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayListenerTls', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
482             }
483              
484             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayBackendDefaults',
485             as 'Cfn::Value';
486              
487             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayBackendDefaults',
488             from 'HashRef',
489             via {
490             if (my $f = Cfn::TypeLibrary::try_function($_)) {
491             return $f
492             } else {
493             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayBackendDefaults->new( %$_ );
494             }
495             };
496              
497             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewayBackendDefaults {
498 1     1   3414 use Moose;
  1         4  
  1         5  
499 1     1   6658 use MooseX::StrictConstructor;
  1         3  
  1         7  
500             extends 'Cfn::Value::TypedValue';
501            
502             has ClientPolicy => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayClientPolicy', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
503             }
504              
505             subtype 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewaySpec',
506             as 'Cfn::Value';
507              
508             coerce 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewaySpec',
509             from 'HashRef',
510             via {
511             if (my $f = Cfn::TypeLibrary::try_function($_)) {
512             return $f
513             } else {
514             return Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewaySpec->new( %$_ );
515             }
516             };
517              
518             package Cfn::Resource::Properties::Object::AWS::AppMesh::VirtualGateway::VirtualGatewaySpec {
519 1     1   3373 use Moose;
  1         2  
  1         5  
520 1     1   6670 use MooseX::StrictConstructor;
  1         3  
  1         6  
521             extends 'Cfn::Value::TypedValue';
522            
523             has BackendDefaults => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayBackendDefaults', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
524             has Listeners => (isa => 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayListener', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
525             has Logging => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewayLogging', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
526             }
527              
528             package Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway {
529 1     1   3339 use Moose;
  1         3  
  1         6  
530 1     1   6689 use MooseX::StrictConstructor;
  1         2  
  1         7  
531             extends 'Cfn::Resource::Properties';
532            
533             has MeshName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
534             has MeshOwner => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
535             has Spec => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::VirtualGateway::VirtualGatewaySpec', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
536             has Tags => (isa => 'ArrayOfCfn::Resource::Properties::TagType', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
537             has VirtualGatewayName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
538             }
539              
540             1;
541             ### main pod documentation begin ###
542              
543             =encoding UTF-8
544              
545             =head1 NAME
546              
547             Cfn::Resource::AWS::AppMesh::VirtualGateway - Cfn resource for AWS::AppMesh::VirtualGateway
548              
549             =head1 DESCRIPTION
550              
551             This module implements a Perl module that represents the CloudFormation object AWS::AppMesh::VirtualGateway.
552              
553             See L<Cfn> for more information on how to use it.
554              
555             =head1 AUTHOR
556              
557             Jose Luis Martinez
558             CAPSiDE
559             jlmartinez@capside.com
560              
561             =head1 COPYRIGHT and LICENSE
562              
563             Copyright (c) 2013 by CAPSiDE
564             This code is distributed under the Apache 2 License. The full text of the
565             license can be found in the LICENSE file included with this module.
566              
567             =cut