File Coverage

blib/lib/Cfn/Resource/AWS/ECS/TaskDefinition.pm
Criterion Covered Total %
statement 182 182 100.0
branch n/a
condition n/a
subroutine 62 62 100.0
pod 0 2 0.0
total 244 246 99.1


line stmt bran cond sub pod time code
1             # AWS::ECS::TaskDefinition generated from spec 18.4.0
2 2     2   1809 use Moose::Util::TypeConstraints;
  2         6  
  2         23  
3              
4             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition',
5             from 'HashRef',
6             via { Cfn::Resource::Properties::AWS::ECS::TaskDefinition->new( %$_ ) };
7              
8             package Cfn::Resource::AWS::ECS::TaskDefinition {
9 2     2   4489 use Moose;
  2         5  
  2         18  
10             extends 'Cfn::Resource';
11             has Properties => (isa => 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition', is => 'rw', coerce => 1);
12            
13             sub AttributeList {
14 1     1 0 4 [ 'TaskDefinitionArn' ]
15             }
16             sub supported_regions {
17 1     1 0 1239 [ 'af-south-1','ap-east-1','ap-northeast-1','ap-northeast-2','ap-northeast-3','ap-south-1','ap-southeast-1','ap-southeast-2','ca-central-1','cn-north-1','cn-northwest-1','eu-central-1','eu-north-1','eu-south-1','eu-west-1','eu-west-2','eu-west-3','me-south-1','sa-east-1','us-east-1','us-east-2','us-gov-east-1','us-gov-west-1','us-west-1','us-west-2' ]
18             }
19             }
20              
21              
22             subtype 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::Tmpfs',
23             as 'Cfn::Value',
24             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
25             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
26              
27             coerce 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::Tmpfs',
28             from 'HashRef',
29             via {
30             if (my $f = Cfn::TypeLibrary::try_function($_)) {
31             return $f
32             } else {
33             die 'Only accepts functions';
34             }
35             },
36             from 'ArrayRef',
37             via {
38             Cfn::Value::Array->new(Value => [
39             map {
40             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::ECS::TaskDefinition::Tmpfs')->coerce($_)
41             } @$_
42             ]);
43             };
44              
45             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::Tmpfs',
46             as 'Cfn::Value';
47              
48             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::Tmpfs',
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::ECS::TaskDefinition::Tmpfs->new( %$_ );
55             }
56             };
57              
58             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::Tmpfs {
59 2     2   16202 use Moose;
  2         9  
  2         12  
60 2     2   13541 use MooseX::StrictConstructor;
  2         6  
  2         23  
61             extends 'Cfn::Value::TypedValue';
62            
63             has ContainerPath => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
64             has MountOptions => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
65             has Size => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
66             }
67             subtype 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::Secret',
68             as 'Cfn::Value',
69             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
70             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
71              
72             coerce 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::Secret',
73             from 'HashRef',
74             via {
75             if (my $f = Cfn::TypeLibrary::try_function($_)) {
76             return $f
77             } else {
78             die 'Only accepts functions';
79             }
80             },
81             from 'ArrayRef',
82             via {
83             Cfn::Value::Array->new(Value => [
84             map {
85             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::ECS::TaskDefinition::Secret')->coerce($_)
86             } @$_
87             ]);
88             };
89              
90             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::Secret',
91             as 'Cfn::Value';
92              
93             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::Secret',
94             from 'HashRef',
95             via {
96             if (my $f = Cfn::TypeLibrary::try_function($_)) {
97             return $f
98             } else {
99             return Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::Secret->new( %$_ );
100             }
101             };
102              
103             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::Secret {
104 2     2   8167 use Moose;
  2         6  
  2         14  
105 2     2   13323 use MooseX::StrictConstructor;
  2         34  
  2         11  
106             extends 'Cfn::Value::TypedValue';
107            
108             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
109             has ValueFrom => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
110             }
111              
112             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::KernelCapabilities',
113             as 'Cfn::Value';
114              
115             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::KernelCapabilities',
116             from 'HashRef',
117             via {
118             if (my $f = Cfn::TypeLibrary::try_function($_)) {
119             return $f
120             } else {
121             return Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::KernelCapabilities->new( %$_ );
122             }
123             };
124              
125             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::KernelCapabilities {
126 2     2   6786 use Moose;
  2         6  
  2         23  
127 2     2   13799 use MooseX::StrictConstructor;
  2         6  
  2         11  
128             extends 'Cfn::Value::TypedValue';
129            
130             has Add => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
131             has Drop => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
132             }
133             subtype 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::Device',
134             as 'Cfn::Value',
135             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
136             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
137              
138             coerce 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::Device',
139             from 'HashRef',
140             via {
141             if (my $f = Cfn::TypeLibrary::try_function($_)) {
142             return $f
143             } else {
144             die 'Only accepts functions';
145             }
146             },
147             from 'ArrayRef',
148             via {
149             Cfn::Value::Array->new(Value => [
150             map {
151             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::ECS::TaskDefinition::Device')->coerce($_)
152             } @$_
153             ]);
154             };
155              
156             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::Device',
157             as 'Cfn::Value';
158              
159             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::Device',
160             from 'HashRef',
161             via {
162             if (my $f = Cfn::TypeLibrary::try_function($_)) {
163             return $f
164             } else {
165             return Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::Device->new( %$_ );
166             }
167             };
168              
169             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::Device {
170 2     2   7256 use Moose;
  2         6  
  2         14  
171 2     2   13309 use MooseX::StrictConstructor;
  2         8  
  2         14  
172             extends 'Cfn::Value::TypedValue';
173            
174             has ContainerPath => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
175             has HostPath => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
176             has Permissions => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
177             }
178             subtype 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::VolumeFrom',
179             as 'Cfn::Value',
180             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
181             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
182              
183             coerce 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::VolumeFrom',
184             from 'HashRef',
185             via {
186             if (my $f = Cfn::TypeLibrary::try_function($_)) {
187             return $f
188             } else {
189             die 'Only accepts functions';
190             }
191             },
192             from 'ArrayRef',
193             via {
194             Cfn::Value::Array->new(Value => [
195             map {
196             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::ECS::TaskDefinition::VolumeFrom')->coerce($_)
197             } @$_
198             ]);
199             };
200              
201             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::VolumeFrom',
202             as 'Cfn::Value';
203              
204             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::VolumeFrom',
205             from 'HashRef',
206             via {
207             if (my $f = Cfn::TypeLibrary::try_function($_)) {
208             return $f
209             } else {
210             return Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::VolumeFrom->new( %$_ );
211             }
212             };
213              
214             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::VolumeFrom {
215 2     2   7349 use Moose;
  2         7  
  2         14  
216 2     2   13195 use MooseX::StrictConstructor;
  2         7  
  2         9  
217             extends 'Cfn::Value::TypedValue';
218            
219             has ReadOnly => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
220             has SourceContainer => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
221             }
222             subtype 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::Ulimit',
223             as 'Cfn::Value',
224             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
225             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
226              
227             coerce 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::Ulimit',
228             from 'HashRef',
229             via {
230             if (my $f = Cfn::TypeLibrary::try_function($_)) {
231             return $f
232             } else {
233             die 'Only accepts functions';
234             }
235             },
236             from 'ArrayRef',
237             via {
238             Cfn::Value::Array->new(Value => [
239             map {
240             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::ECS::TaskDefinition::Ulimit')->coerce($_)
241             } @$_
242             ]);
243             };
244              
245             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::Ulimit',
246             as 'Cfn::Value';
247              
248             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::Ulimit',
249             from 'HashRef',
250             via {
251             if (my $f = Cfn::TypeLibrary::try_function($_)) {
252             return $f
253             } else {
254             return Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::Ulimit->new( %$_ );
255             }
256             };
257              
258             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::Ulimit {
259 2     2   7180 use Moose;
  2         15  
  2         13  
260 2     2   13288 use MooseX::StrictConstructor;
  2         6  
  2         11  
261             extends 'Cfn::Value::TypedValue';
262            
263             has HardLimit => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
264             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
265             has SoftLimit => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
266             }
267             subtype 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::SystemControl',
268             as 'Cfn::Value',
269             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
270             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
271              
272             coerce 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::SystemControl',
273             from 'HashRef',
274             via {
275             if (my $f = Cfn::TypeLibrary::try_function($_)) {
276             return $f
277             } else {
278             die 'Only accepts functions';
279             }
280             },
281             from 'ArrayRef',
282             via {
283             Cfn::Value::Array->new(Value => [
284             map {
285             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::ECS::TaskDefinition::SystemControl')->coerce($_)
286             } @$_
287             ]);
288             };
289              
290             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::SystemControl',
291             as 'Cfn::Value';
292              
293             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::SystemControl',
294             from 'HashRef',
295             via {
296             if (my $f = Cfn::TypeLibrary::try_function($_)) {
297             return $f
298             } else {
299             return Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::SystemControl->new( %$_ );
300             }
301             };
302              
303             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::SystemControl {
304 2     2   7260 use Moose;
  2         14  
  2         11  
305 2     2   13272 use MooseX::StrictConstructor;
  2         6  
  2         11  
306             extends 'Cfn::Value::TypedValue';
307            
308             has Namespace => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
309             has Value => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
310             }
311             subtype 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::ResourceRequirement',
312             as 'Cfn::Value',
313             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
314             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
315              
316             coerce 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::ResourceRequirement',
317             from 'HashRef',
318             via {
319             if (my $f = Cfn::TypeLibrary::try_function($_)) {
320             return $f
321             } else {
322             die 'Only accepts functions';
323             }
324             },
325             from 'ArrayRef',
326             via {
327             Cfn::Value::Array->new(Value => [
328             map {
329             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ResourceRequirement')->coerce($_)
330             } @$_
331             ]);
332             };
333              
334             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ResourceRequirement',
335             as 'Cfn::Value';
336              
337             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ResourceRequirement',
338             from 'HashRef',
339             via {
340             if (my $f = Cfn::TypeLibrary::try_function($_)) {
341             return $f
342             } else {
343             return Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::ResourceRequirement->new( %$_ );
344             }
345             };
346              
347             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::ResourceRequirement {
348 2     2   7317 use Moose;
  2         6  
  2         12  
349 2     2   13828 use MooseX::StrictConstructor;
  2         6  
  2         13  
350             extends 'Cfn::Value::TypedValue';
351            
352             has Type => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
353             has Value => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
354             }
355              
356             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::RepositoryCredentials',
357             as 'Cfn::Value';
358              
359             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::RepositoryCredentials',
360             from 'HashRef',
361             via {
362             if (my $f = Cfn::TypeLibrary::try_function($_)) {
363             return $f
364             } else {
365             return Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::RepositoryCredentials->new( %$_ );
366             }
367             };
368              
369             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::RepositoryCredentials {
370 2     2   7100 use Moose;
  2         6  
  2         15  
371 2     2   13875 use MooseX::StrictConstructor;
  2         15  
  2         12  
372             extends 'Cfn::Value::TypedValue';
373            
374             has CredentialsParameter => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
375             }
376             subtype 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::PortMapping',
377             as 'Cfn::Value',
378             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
379             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
380              
381             coerce 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::PortMapping',
382             from 'HashRef',
383             via {
384             if (my $f = Cfn::TypeLibrary::try_function($_)) {
385             return $f
386             } else {
387             die 'Only accepts functions';
388             }
389             },
390             from 'ArrayRef',
391             via {
392             Cfn::Value::Array->new(Value => [
393             map {
394             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::ECS::TaskDefinition::PortMapping')->coerce($_)
395             } @$_
396             ]);
397             };
398              
399             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::PortMapping',
400             as 'Cfn::Value';
401              
402             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::PortMapping',
403             from 'HashRef',
404             via {
405             if (my $f = Cfn::TypeLibrary::try_function($_)) {
406             return $f
407             } else {
408             return Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::PortMapping->new( %$_ );
409             }
410             };
411              
412             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::PortMapping {
413 2     2   7356 use Moose;
  2         8  
  2         14  
414 2     2   13491 use MooseX::StrictConstructor;
  2         6  
  2         12  
415             extends 'Cfn::Value::TypedValue';
416            
417             has ContainerPort => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
418             has HostPort => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
419             has Protocol => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
420             }
421             subtype 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::MountPoint',
422             as 'Cfn::Value',
423             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
424             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
425              
426             coerce 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::MountPoint',
427             from 'HashRef',
428             via {
429             if (my $f = Cfn::TypeLibrary::try_function($_)) {
430             return $f
431             } else {
432             die 'Only accepts functions';
433             }
434             },
435             from 'ArrayRef',
436             via {
437             Cfn::Value::Array->new(Value => [
438             map {
439             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::ECS::TaskDefinition::MountPoint')->coerce($_)
440             } @$_
441             ]);
442             };
443              
444             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::MountPoint',
445             as 'Cfn::Value';
446              
447             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::MountPoint',
448             from 'HashRef',
449             via {
450             if (my $f = Cfn::TypeLibrary::try_function($_)) {
451             return $f
452             } else {
453             return Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::MountPoint->new( %$_ );
454             }
455             };
456              
457             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::MountPoint {
458 2     2   7428 use Moose;
  2         11  
  2         26  
459 2     2   13632 use MooseX::StrictConstructor;
  2         9  
  2         10  
460             extends 'Cfn::Value::TypedValue';
461            
462             has ContainerPath => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
463             has ReadOnly => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
464             has SourceVolume => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
465             }
466              
467             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::LogConfiguration',
468             as 'Cfn::Value';
469              
470             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::LogConfiguration',
471             from 'HashRef',
472             via {
473             if (my $f = Cfn::TypeLibrary::try_function($_)) {
474             return $f
475             } else {
476             return Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::LogConfiguration->new( %$_ );
477             }
478             };
479              
480             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::LogConfiguration {
481 2     2   6935 use Moose;
  2         8  
  2         15  
482 2     2   13403 use MooseX::StrictConstructor;
  2         6  
  2         10  
483             extends 'Cfn::Value::TypedValue';
484            
485             has LogDriver => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
486             has Options => (isa => 'Cfn::Value::Hash|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
487             has SecretOptions => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::Secret', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
488             }
489              
490             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::LinuxParameters',
491             as 'Cfn::Value';
492              
493             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::LinuxParameters',
494             from 'HashRef',
495             via {
496             if (my $f = Cfn::TypeLibrary::try_function($_)) {
497             return $f
498             } else {
499             return Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::LinuxParameters->new( %$_ );
500             }
501             };
502              
503             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::LinuxParameters {
504 2     2   6832 use Moose;
  2         8  
  2         11  
505 2     2   13405 use MooseX::StrictConstructor;
  2         6  
  2         11  
506             extends 'Cfn::Value::TypedValue';
507            
508             has Capabilities => (isa => 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::KernelCapabilities', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
509             has Devices => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::Device', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
510             has InitProcessEnabled => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
511             has MaxSwap => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
512             has SharedMemorySize => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
513             has Swappiness => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
514             has Tmpfs => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::Tmpfs', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
515             }
516             subtype 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::KeyValuePair',
517             as 'Cfn::Value',
518             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
519             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
520              
521             coerce 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::KeyValuePair',
522             from 'HashRef',
523             via {
524             if (my $f = Cfn::TypeLibrary::try_function($_)) {
525             return $f
526             } else {
527             die 'Only accepts functions';
528             }
529             },
530             from 'ArrayRef',
531             via {
532             Cfn::Value::Array->new(Value => [
533             map {
534             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::ECS::TaskDefinition::KeyValuePair')->coerce($_)
535             } @$_
536             ]);
537             };
538              
539             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::KeyValuePair',
540             as 'Cfn::Value';
541              
542             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::KeyValuePair',
543             from 'HashRef',
544             via {
545             if (my $f = Cfn::TypeLibrary::try_function($_)) {
546             return $f
547             } else {
548             return Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::KeyValuePair->new( %$_ );
549             }
550             };
551              
552             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::KeyValuePair {
553 2     2   7437 use Moose;
  2         7  
  2         11  
554 2     2   13341 use MooseX::StrictConstructor;
  2         6  
  2         16  
555             extends 'Cfn::Value::TypedValue';
556            
557             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
558             has Value => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
559             }
560              
561             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::HostVolumeProperties',
562             as 'Cfn::Value';
563              
564             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::HostVolumeProperties',
565             from 'HashRef',
566             via {
567             if (my $f = Cfn::TypeLibrary::try_function($_)) {
568             return $f
569             } else {
570             return Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::HostVolumeProperties->new( %$_ );
571             }
572             };
573              
574             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::HostVolumeProperties {
575 2     2   6968 use Moose;
  2         7  
  2         14  
576 2     2   13816 use MooseX::StrictConstructor;
  2         5  
  2         12  
577             extends 'Cfn::Value::TypedValue';
578            
579             has SourcePath => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
580             }
581             subtype 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::HostEntry',
582             as 'Cfn::Value',
583             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
584             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
585              
586             coerce 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::HostEntry',
587             from 'HashRef',
588             via {
589             if (my $f = Cfn::TypeLibrary::try_function($_)) {
590             return $f
591             } else {
592             die 'Only accepts functions';
593             }
594             },
595             from 'ArrayRef',
596             via {
597             Cfn::Value::Array->new(Value => [
598             map {
599             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::ECS::TaskDefinition::HostEntry')->coerce($_)
600             } @$_
601             ]);
602             };
603              
604             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::HostEntry',
605             as 'Cfn::Value';
606              
607             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::HostEntry',
608             from 'HashRef',
609             via {
610             if (my $f = Cfn::TypeLibrary::try_function($_)) {
611             return $f
612             } else {
613             return Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::HostEntry->new( %$_ );
614             }
615             };
616              
617             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::HostEntry {
618 2     2   7273 use Moose;
  2         9  
  2         18  
619 2     2   13513 use MooseX::StrictConstructor;
  2         8  
  2         11  
620             extends 'Cfn::Value::TypedValue';
621            
622             has Hostname => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
623             has IpAddress => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
624             }
625              
626             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::HealthCheck',
627             as 'Cfn::Value';
628              
629             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::HealthCheck',
630             from 'HashRef',
631             via {
632             if (my $f = Cfn::TypeLibrary::try_function($_)) {
633             return $f
634             } else {
635             return Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::HealthCheck->new( %$_ );
636             }
637             };
638              
639             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::HealthCheck {
640 2     2   6983 use Moose;
  2         8  
  2         11  
641 2     2   13477 use MooseX::StrictConstructor;
  2         8  
  2         55  
642             extends 'Cfn::Value::TypedValue';
643            
644             has Command => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
645             has Interval => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
646             has Retries => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
647             has StartPeriod => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
648             has Timeout => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
649             }
650              
651             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::FirelensConfiguration',
652             as 'Cfn::Value';
653              
654             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::FirelensConfiguration',
655             from 'HashRef',
656             via {
657             if (my $f = Cfn::TypeLibrary::try_function($_)) {
658             return $f
659             } else {
660             return Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::FirelensConfiguration->new( %$_ );
661             }
662             };
663              
664             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::FirelensConfiguration {
665 2     2   6975 use Moose;
  2         9  
  2         14  
666 2     2   13372 use MooseX::StrictConstructor;
  2         8  
  2         13  
667             extends 'Cfn::Value::TypedValue';
668            
669             has Options => (isa => 'Cfn::Value::Hash|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
670             has Type => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
671             }
672             subtype 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::EnvironmentFile',
673             as 'Cfn::Value',
674             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
675             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
676              
677             coerce 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::EnvironmentFile',
678             from 'HashRef',
679             via {
680             if (my $f = Cfn::TypeLibrary::try_function($_)) {
681             return $f
682             } else {
683             die 'Only accepts functions';
684             }
685             },
686             from 'ArrayRef',
687             via {
688             Cfn::Value::Array->new(Value => [
689             map {
690             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::ECS::TaskDefinition::EnvironmentFile')->coerce($_)
691             } @$_
692             ]);
693             };
694              
695             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::EnvironmentFile',
696             as 'Cfn::Value';
697              
698             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::EnvironmentFile',
699             from 'HashRef',
700             via {
701             if (my $f = Cfn::TypeLibrary::try_function($_)) {
702             return $f
703             } else {
704             return Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::EnvironmentFile->new( %$_ );
705             }
706             };
707              
708             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::EnvironmentFile {
709 2     2   7250 use Moose;
  2         6  
  2         13  
710 2     2   13489 use MooseX::StrictConstructor;
  2         6  
  2         13  
711             extends 'Cfn::Value::TypedValue';
712            
713             has Type => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
714             has Value => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
715             }
716              
717             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::EFSVolumeConfiguration',
718             as 'Cfn::Value';
719              
720             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::EFSVolumeConfiguration',
721             from 'HashRef',
722             via {
723             if (my $f = Cfn::TypeLibrary::try_function($_)) {
724             return $f
725             } else {
726             return Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::EFSVolumeConfiguration->new( %$_ );
727             }
728             };
729              
730             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::EFSVolumeConfiguration {
731 2     2   6774 use Moose;
  2         6  
  2         1020  
732 2     2   13020 use MooseX::StrictConstructor;
  2         15  
  2         11  
733             extends 'Cfn::Value::TypedValue';
734            
735             has AuthorizationConfig => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
736             has FilesystemId => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
737             has RootDirectory => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
738             has TransitEncryption => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
739             has TransitEncryptionPort => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
740             }
741              
742             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::DockerVolumeConfiguration',
743             as 'Cfn::Value';
744              
745             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::DockerVolumeConfiguration',
746             from 'HashRef',
747             via {
748             if (my $f = Cfn::TypeLibrary::try_function($_)) {
749             return $f
750             } else {
751             return Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::DockerVolumeConfiguration->new( %$_ );
752             }
753             };
754              
755             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::DockerVolumeConfiguration {
756 2     2   6945 use Moose;
  2         7  
  2         10  
757 2     2   13542 use MooseX::StrictConstructor;
  2         6  
  2         13  
758             extends 'Cfn::Value::TypedValue';
759            
760             has Autoprovision => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
761             has Driver => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
762             has DriverOpts => (isa => 'Cfn::Value::Hash|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
763             has Labels => (isa => 'Cfn::Value::Hash|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
764             has Scope => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
765             }
766             subtype 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDependency',
767             as 'Cfn::Value',
768             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
769             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
770              
771             coerce 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDependency',
772             from 'HashRef',
773             via {
774             if (my $f = Cfn::TypeLibrary::try_function($_)) {
775             return $f
776             } else {
777             die 'Only accepts functions';
778             }
779             },
780             from 'ArrayRef',
781             via {
782             Cfn::Value::Array->new(Value => [
783             map {
784             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDependency')->coerce($_)
785             } @$_
786             ]);
787             };
788              
789             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDependency',
790             as 'Cfn::Value';
791              
792             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDependency',
793             from 'HashRef',
794             via {
795             if (my $f = Cfn::TypeLibrary::try_function($_)) {
796             return $f
797             } else {
798             return Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::ContainerDependency->new( %$_ );
799             }
800             };
801              
802             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::ContainerDependency {
803 2     2   7300 use Moose;
  2         6  
  2         16  
804 2     2   13178 use MooseX::StrictConstructor;
  2         12  
  2         11  
805             extends 'Cfn::Value::TypedValue';
806            
807             has Condition => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
808             has ContainerName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
809             }
810             subtype 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::Volume',
811             as 'Cfn::Value',
812             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
813             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
814              
815             coerce 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::Volume',
816             from 'HashRef',
817             via {
818             if (my $f = Cfn::TypeLibrary::try_function($_)) {
819             return $f
820             } else {
821             die 'Only accepts functions';
822             }
823             },
824             from 'ArrayRef',
825             via {
826             Cfn::Value::Array->new(Value => [
827             map {
828             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::ECS::TaskDefinition::Volume')->coerce($_)
829             } @$_
830             ]);
831             };
832              
833             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::Volume',
834             as 'Cfn::Value';
835              
836             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::Volume',
837             from 'HashRef',
838             via {
839             if (my $f = Cfn::TypeLibrary::try_function($_)) {
840             return $f
841             } else {
842             return Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::Volume->new( %$_ );
843             }
844             };
845              
846             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::Volume {
847 2     2   7186 use Moose;
  2         12  
  2         14  
848 2     2   13326 use MooseX::StrictConstructor;
  2         8  
  2         16  
849             extends 'Cfn::Value::TypedValue';
850            
851             has DockerVolumeConfiguration => (isa => 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::DockerVolumeConfiguration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
852             has EFSVolumeConfiguration => (isa => 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::EFSVolumeConfiguration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
853             has Host => (isa => 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::HostVolumeProperties', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
854             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
855             }
856             subtype 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::TaskDefinitionPlacementConstraint',
857             as 'Cfn::Value',
858             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
859             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
860              
861             coerce 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::TaskDefinitionPlacementConstraint',
862             from 'HashRef',
863             via {
864             if (my $f = Cfn::TypeLibrary::try_function($_)) {
865             return $f
866             } else {
867             die 'Only accepts functions';
868             }
869             },
870             from 'ArrayRef',
871             via {
872             Cfn::Value::Array->new(Value => [
873             map {
874             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::ECS::TaskDefinition::TaskDefinitionPlacementConstraint')->coerce($_)
875             } @$_
876             ]);
877             };
878              
879             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::TaskDefinitionPlacementConstraint',
880             as 'Cfn::Value';
881              
882             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::TaskDefinitionPlacementConstraint',
883             from 'HashRef',
884             via {
885             if (my $f = Cfn::TypeLibrary::try_function($_)) {
886             return $f
887             } else {
888             return Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::TaskDefinitionPlacementConstraint->new( %$_ );
889             }
890             };
891              
892             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::TaskDefinitionPlacementConstraint {
893 2     2   7280 use Moose;
  2         6  
  2         12  
894 2     2   13145 use MooseX::StrictConstructor;
  2         6  
  2         10  
895             extends 'Cfn::Value::TypedValue';
896            
897             has Expression => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
898             has Type => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
899             }
900              
901             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ProxyConfiguration',
902             as 'Cfn::Value';
903              
904             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ProxyConfiguration',
905             from 'HashRef',
906             via {
907             if (my $f = Cfn::TypeLibrary::try_function($_)) {
908             return $f
909             } else {
910             return Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::ProxyConfiguration->new( %$_ );
911             }
912             };
913              
914             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::ProxyConfiguration {
915 2     2   6776 use Moose;
  2         10  
  2         10  
916 2     2   13263 use MooseX::StrictConstructor;
  2         6  
  2         10  
917             extends 'Cfn::Value::TypedValue';
918            
919             has ContainerName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
920             has ProxyConfigurationProperties => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::KeyValuePair', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
921             has Type => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
922             }
923             subtype 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::InferenceAccelerator',
924             as 'Cfn::Value',
925             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
926             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
927              
928             coerce 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::InferenceAccelerator',
929             from 'HashRef',
930             via {
931             if (my $f = Cfn::TypeLibrary::try_function($_)) {
932             return $f
933             } else {
934             die 'Only accepts functions';
935             }
936             },
937             from 'ArrayRef',
938             via {
939             Cfn::Value::Array->new(Value => [
940             map {
941             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::ECS::TaskDefinition::InferenceAccelerator')->coerce($_)
942             } @$_
943             ]);
944             };
945              
946             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::InferenceAccelerator',
947             as 'Cfn::Value';
948              
949             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::InferenceAccelerator',
950             from 'HashRef',
951             via {
952             if (my $f = Cfn::TypeLibrary::try_function($_)) {
953             return $f
954             } else {
955             return Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::InferenceAccelerator->new( %$_ );
956             }
957             };
958              
959             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::InferenceAccelerator {
960 2     2   7197 use Moose;
  2         6  
  2         14  
961 2     2   13199 use MooseX::StrictConstructor;
  2         5  
  2         13  
962             extends 'Cfn::Value::TypedValue';
963            
964             has DeviceName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
965             has DeviceType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
966             }
967             subtype 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDefinition',
968             as 'Cfn::Value',
969             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
970             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
971              
972             coerce 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDefinition',
973             from 'HashRef',
974             via {
975             if (my $f = Cfn::TypeLibrary::try_function($_)) {
976             return $f
977             } else {
978             die 'Only accepts functions';
979             }
980             },
981             from 'ArrayRef',
982             via {
983             Cfn::Value::Array->new(Value => [
984             map {
985             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDefinition')->coerce($_)
986             } @$_
987             ]);
988             };
989              
990             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDefinition',
991             as 'Cfn::Value';
992              
993             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDefinition',
994             from 'HashRef',
995             via {
996             if (my $f = Cfn::TypeLibrary::try_function($_)) {
997             return $f
998             } else {
999             return Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::ContainerDefinition->new( %$_ );
1000             }
1001             };
1002              
1003             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::ContainerDefinition {
1004 2     2   7182 use Moose;
  2         7  
  2         21  
1005 2     2   13230 use MooseX::StrictConstructor;
  2         10  
  2         8  
1006             extends 'Cfn::Value::TypedValue';
1007            
1008             has Command => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1009             has Cpu => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1010             has DependsOn => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDependency', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1011             has DisableNetworking => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1012             has DnsSearchDomains => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1013             has DnsServers => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1014             has DockerLabels => (isa => 'Cfn::Value::Hash|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1015             has DockerSecurityOptions => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1016             has EntryPoint => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1017             has Environment => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::KeyValuePair', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1018             has EnvironmentFiles => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::EnvironmentFile', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1019             has Essential => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1020             has ExtraHosts => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::HostEntry', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1021             has FirelensConfiguration => (isa => 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::FirelensConfiguration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1022             has HealthCheck => (isa => 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::HealthCheck', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1023             has Hostname => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1024             has Image => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1025             has Interactive => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1026             has Links => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1027             has LinuxParameters => (isa => 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::LinuxParameters', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1028             has LogConfiguration => (isa => 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::LogConfiguration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1029             has Memory => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1030             has MemoryReservation => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1031             has MountPoints => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::MountPoint', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1032             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1033             has PortMappings => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::PortMapping', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1034             has Privileged => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1035             has PseudoTerminal => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1036             has ReadonlyRootFilesystem => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1037             has RepositoryCredentials => (isa => 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::RepositoryCredentials', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1038             has ResourceRequirements => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::ResourceRequirement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1039             has Secrets => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::Secret', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1040             has StartTimeout => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1041             has StopTimeout => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1042             has SystemControls => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::SystemControl', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1043             has Ulimits => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::Ulimit', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1044             has User => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1045             has VolumesFrom => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::VolumeFrom', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1046             has WorkingDirectory => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1047             }
1048              
1049             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::AuthorizationConfig',
1050             as 'Cfn::Value';
1051              
1052             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::AuthorizationConfig',
1053             from 'HashRef',
1054             via {
1055             if (my $f = Cfn::TypeLibrary::try_function($_)) {
1056             return $f
1057             } else {
1058             return Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::AuthorizationConfig->new( %$_ );
1059             }
1060             };
1061              
1062             package Cfn::Resource::Properties::Object::AWS::ECS::TaskDefinition::AuthorizationConfig {
1063 2     2   8391 use Moose;
  2         17  
  2         9  
1064 2     2   13399 use MooseX::StrictConstructor;
  2         4  
  2         13  
1065             extends 'Cfn::Value::TypedValue';
1066            
1067             has AccessPointId => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1068             has IAM => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1069             }
1070              
1071             package Cfn::Resource::Properties::AWS::ECS::TaskDefinition {
1072 2     2   6657 use Moose;
  2         7  
  2         13  
1073 2     2   13144 use MooseX::StrictConstructor;
  2         7  
  2         11  
1074             extends 'Cfn::Resource::Properties';
1075            
1076             has ContainerDefinitions => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDefinition', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1077             has Cpu => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1078             has ExecutionRoleArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1079             has Family => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1080             has InferenceAccelerators => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::InferenceAccelerator', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1081             has IpcMode => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1082             has Memory => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1083             has NetworkMode => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1084             has PidMode => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1085             has PlacementConstraints => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::TaskDefinitionPlacementConstraint', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1086             has ProxyConfiguration => (isa => 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ProxyConfiguration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1087             has RequiresCompatibilities => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1088             has Tags => (isa => 'ArrayOfCfn::Resource::Properties::TagType', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
1089             has TaskRoleArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1090             has Volumes => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::Volume', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
1091             }
1092              
1093             1;
1094             ### main pod documentation begin ###
1095              
1096             =encoding UTF-8
1097              
1098             =head1 NAME
1099              
1100             Cfn::Resource::AWS::ECS::TaskDefinition - Cfn resource for AWS::ECS::TaskDefinition
1101              
1102             =head1 DESCRIPTION
1103              
1104             This module implements a Perl module that represents the CloudFormation object AWS::ECS::TaskDefinition.
1105              
1106             See L<Cfn> for more information on how to use it.
1107              
1108             =head1 AUTHOR
1109              
1110             Jose Luis Martinez
1111             CAPSiDE
1112             jlmartinez@capside.com
1113              
1114             =head1 COPYRIGHT and LICENSE
1115              
1116             Copyright (c) 2013 by CAPSiDE
1117             This code is distributed under the Apache 2 License. The full text of the
1118             license can be found in the LICENSE file included with this module.
1119              
1120             =cut