File Coverage

blib/lib/Cfn/Resource/AWS/ECS/TaskDefinition.pm
Criterion Covered Total %
statement 164 164 100.0
branch n/a
condition n/a
subroutine 56 56 100.0
pod 0 2 0.0
total 220 222 99.1


line stmt bran cond sub pod time code
1             # AWS::ECS::TaskDefinition generated from spec 9.1.0
2 2     2   1517 use Moose::Util::TypeConstraints;
  2         12  
  2         20  
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   4289 use Moose;
  2         8  
  2         14  
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 [ ]
15             }
16             sub supported_regions {
17 1     1 0 1119 [ '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-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::AWS::ECS::TaskDefinition::TmpfsValue->new( %$_ );
55             }
56             };
57              
58             package Cfn::Resource::Properties::AWS::ECS::TaskDefinition::TmpfsValue {
59 2     2   14678 use Moose;
  2         8  
  2         12  
60 2     2   13103 use MooseX::StrictConstructor;
  2         9  
  2         19  
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::AWS::ECS::TaskDefinition::SecretValue->new( %$_ );
100             }
101             };
102              
103             package Cfn::Resource::Properties::AWS::ECS::TaskDefinition::SecretValue {
104 2     2   7488 use Moose;
  2         6  
  2         11  
105 2     2   12932 use MooseX::StrictConstructor;
  2         6  
  2         12  
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::AWS::ECS::TaskDefinition::KernelCapabilitiesValue->new( %$_ );
122             }
123             };
124              
125             package Cfn::Resource::Properties::AWS::ECS::TaskDefinition::KernelCapabilitiesValue {
126 2     2   6551 use Moose;
  2         13  
  2         21  
127 2     2   13034 use MooseX::StrictConstructor;
  2         6  
  2         10  
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::AWS::ECS::TaskDefinition::DeviceValue->new( %$_ );
166             }
167             };
168              
169             package Cfn::Resource::Properties::AWS::ECS::TaskDefinition::DeviceValue {
170 2     2   7035 use Moose;
  2         10  
  2         13  
171 2     2   12983 use MooseX::StrictConstructor;
  2         5  
  2         10  
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, required => 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::AWS::ECS::TaskDefinition::VolumeFromValue->new( %$_ );
211             }
212             };
213              
214             package Cfn::Resource::Properties::AWS::ECS::TaskDefinition::VolumeFromValue {
215 2     2   7132 use Moose;
  2         5  
  2         11  
216 2     2   12938 use MooseX::StrictConstructor;
  2         7  
  2         13  
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::AWS::ECS::TaskDefinition::UlimitValue->new( %$_ );
255             }
256             };
257              
258             package Cfn::Resource::Properties::AWS::ECS::TaskDefinition::UlimitValue {
259 2     2   7103 use Moose;
  2         6  
  2         13  
260 2     2   12953 use MooseX::StrictConstructor;
  2         6  
  2         10  
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::AWS::ECS::TaskDefinition::SystemControlValue->new( %$_ );
300             }
301             };
302              
303             package Cfn::Resource::Properties::AWS::ECS::TaskDefinition::SystemControlValue {
304 2     2   7469 use Moose;
  2         7  
  2         19  
305 2     2   13016 use MooseX::StrictConstructor;
  2         8  
  2         13  
306             extends 'Cfn::Value::TypedValue';
307            
308             has Namespace => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
309             has Value => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 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::AWS::ECS::TaskDefinition::ResourceRequirementValue->new( %$_ );
344             }
345             };
346              
347             package Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ResourceRequirementValue {
348 2     2   7139 use Moose;
  2         6  
  2         13  
349 2     2   12939 use MooseX::StrictConstructor;
  2         7  
  2         9  
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::AWS::ECS::TaskDefinition::RepositoryCredentialsValue->new( %$_ );
366             }
367             };
368              
369             package Cfn::Resource::Properties::AWS::ECS::TaskDefinition::RepositoryCredentialsValue {
370 2     2   6619 use Moose;
  2         7  
  2         18  
371 2     2   12993 use MooseX::StrictConstructor;
  2         6  
  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::AWS::ECS::TaskDefinition::PortMappingValue->new( %$_ );
409             }
410             };
411              
412             package Cfn::Resource::Properties::AWS::ECS::TaskDefinition::PortMappingValue {
413 2     2   7049 use Moose;
  2         6  
  2         12  
414 2     2   12955 use MooseX::StrictConstructor;
  2         8  
  2         13  
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::AWS::ECS::TaskDefinition::MountPointValue->new( %$_ );
454             }
455             };
456              
457             package Cfn::Resource::Properties::AWS::ECS::TaskDefinition::MountPointValue {
458 2     2   7106 use Moose;
  2         6  
  2         12  
459 2     2   12987 use MooseX::StrictConstructor;
  2         7  
  2         13  
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::AWS::ECS::TaskDefinition::LogConfigurationValue->new( %$_ );
477             }
478             };
479              
480             package Cfn::Resource::Properties::AWS::ECS::TaskDefinition::LogConfigurationValue {
481 2     2   7052 use Moose;
  2         8  
  2         11  
482 2     2   12933 use MooseX::StrictConstructor;
  2         5  
  2         16  
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::AWS::ECS::TaskDefinition::LinuxParametersValue->new( %$_ );
500             }
501             };
502              
503             package Cfn::Resource::Properties::AWS::ECS::TaskDefinition::LinuxParametersValue {
504 2     2   6708 use Moose;
  2         7  
  2         10  
505 2     2   13033 use MooseX::StrictConstructor;
  2         6  
  2         13  
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::AWS::ECS::TaskDefinition::KeyValuePairValue->new( %$_ );
549             }
550             };
551              
552             package Cfn::Resource::Properties::AWS::ECS::TaskDefinition::KeyValuePairValue {
553 2     2   7148 use Moose;
  2         23  
  2         12  
554 2     2   12959 use MooseX::StrictConstructor;
  2         6  
  2         13  
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::AWS::ECS::TaskDefinition::HostVolumePropertiesValue->new( %$_ );
571             }
572             };
573              
574             package Cfn::Resource::Properties::AWS::ECS::TaskDefinition::HostVolumePropertiesValue {
575 2     2   6830 use Moose;
  2         4  
  2         13  
576 2     2   13013 use MooseX::StrictConstructor;
  2         5  
  2         13  
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::AWS::ECS::TaskDefinition::HostEntryValue->new( %$_ );
614             }
615             };
616              
617             package Cfn::Resource::Properties::AWS::ECS::TaskDefinition::HostEntryValue {
618 2     2   6967 use Moose;
  2         6  
  2         11  
619 2     2   13024 use MooseX::StrictConstructor;
  2         4  
  2         10  
620             extends 'Cfn::Value::TypedValue';
621            
622             has Hostname => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
623             has IpAddress => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 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::AWS::ECS::TaskDefinition::HealthCheckValue->new( %$_ );
636             }
637             };
638              
639             package Cfn::Resource::Properties::AWS::ECS::TaskDefinition::HealthCheckValue {
640 2     2   6850 use Moose;
  2         9  
  2         12  
641 2     2   12936 use MooseX::StrictConstructor;
  2         8  
  2         13  
642             extends 'Cfn::Value::TypedValue';
643            
644             has Command => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, required => 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::AWS::ECS::TaskDefinition::FirelensConfigurationValue->new( %$_ );
661             }
662             };
663              
664             package Cfn::Resource::Properties::AWS::ECS::TaskDefinition::FirelensConfigurationValue {
665 2     2   6818 use Moose;
  2         7  
  2         11  
666 2     2   13051 use MooseX::StrictConstructor;
  2         11  
  2         14  
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, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
671             }
672              
673             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::DockerVolumeConfiguration',
674             as 'Cfn::Value';
675              
676             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::DockerVolumeConfiguration',
677             from 'HashRef',
678             via {
679             if (my $f = Cfn::TypeLibrary::try_function($_)) {
680             return $f
681             } else {
682             return Cfn::Resource::Properties::AWS::ECS::TaskDefinition::DockerVolumeConfigurationValue->new( %$_ );
683             }
684             };
685              
686             package Cfn::Resource::Properties::AWS::ECS::TaskDefinition::DockerVolumeConfigurationValue {
687 2     2   6702 use Moose;
  2         15  
  2         24  
688 2     2   13343 use MooseX::StrictConstructor;
  2         6  
  2         14  
689             extends 'Cfn::Value::TypedValue';
690            
691             has Autoprovision => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
692             has Driver => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
693             has DriverOpts => (isa => 'Cfn::Value::Hash|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
694             has Labels => (isa => 'Cfn::Value::Hash|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
695             has Scope => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
696             }
697             subtype 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDependency',
698             as 'Cfn::Value',
699             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
700             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
701              
702             coerce 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDependency',
703             from 'HashRef',
704             via {
705             if (my $f = Cfn::TypeLibrary::try_function($_)) {
706             return $f
707             } else {
708             die 'Only accepts functions';
709             }
710             },
711             from 'ArrayRef',
712             via {
713             Cfn::Value::Array->new(Value => [
714             map {
715             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDependency')->coerce($_)
716             } @$_
717             ]);
718             };
719              
720             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDependency',
721             as 'Cfn::Value';
722              
723             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDependency',
724             from 'HashRef',
725             via {
726             if (my $f = Cfn::TypeLibrary::try_function($_)) {
727             return $f
728             } else {
729             return Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDependencyValue->new( %$_ );
730             }
731             };
732              
733             package Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDependencyValue {
734 2     2   7186 use Moose;
  2         8  
  2         11  
735 2     2   13065 use MooseX::StrictConstructor;
  2         6  
  2         11  
736             extends 'Cfn::Value::TypedValue';
737            
738             has Condition => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
739             has ContainerName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
740             }
741             subtype 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::Volume',
742             as 'Cfn::Value',
743             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
744             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
745              
746             coerce 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::Volume',
747             from 'HashRef',
748             via {
749             if (my $f = Cfn::TypeLibrary::try_function($_)) {
750             return $f
751             } else {
752             die 'Only accepts functions';
753             }
754             },
755             from 'ArrayRef',
756             via {
757             Cfn::Value::Array->new(Value => [
758             map {
759             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::ECS::TaskDefinition::Volume')->coerce($_)
760             } @$_
761             ]);
762             };
763              
764             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::Volume',
765             as 'Cfn::Value';
766              
767             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::Volume',
768             from 'HashRef',
769             via {
770             if (my $f = Cfn::TypeLibrary::try_function($_)) {
771             return $f
772             } else {
773             return Cfn::Resource::Properties::AWS::ECS::TaskDefinition::VolumeValue->new( %$_ );
774             }
775             };
776              
777             package Cfn::Resource::Properties::AWS::ECS::TaskDefinition::VolumeValue {
778 2     2   7132 use Moose;
  2         10  
  2         15  
779 2     2   12961 use MooseX::StrictConstructor;
  2         6  
  2         11  
780             extends 'Cfn::Value::TypedValue';
781            
782             has DockerVolumeConfiguration => (isa => 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::DockerVolumeConfiguration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
783             has Host => (isa => 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::HostVolumeProperties', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
784             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
785             }
786             subtype 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::TaskDefinitionPlacementConstraint',
787             as 'Cfn::Value',
788             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
789             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
790              
791             coerce 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::TaskDefinitionPlacementConstraint',
792             from 'HashRef',
793             via {
794             if (my $f = Cfn::TypeLibrary::try_function($_)) {
795             return $f
796             } else {
797             die 'Only accepts functions';
798             }
799             },
800             from 'ArrayRef',
801             via {
802             Cfn::Value::Array->new(Value => [
803             map {
804             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::ECS::TaskDefinition::TaskDefinitionPlacementConstraint')->coerce($_)
805             } @$_
806             ]);
807             };
808              
809             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::TaskDefinitionPlacementConstraint',
810             as 'Cfn::Value';
811              
812             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::TaskDefinitionPlacementConstraint',
813             from 'HashRef',
814             via {
815             if (my $f = Cfn::TypeLibrary::try_function($_)) {
816             return $f
817             } else {
818             return Cfn::Resource::Properties::AWS::ECS::TaskDefinition::TaskDefinitionPlacementConstraintValue->new( %$_ );
819             }
820             };
821              
822             package Cfn::Resource::Properties::AWS::ECS::TaskDefinition::TaskDefinitionPlacementConstraintValue {
823 2     2   7131 use Moose;
  2         5  
  2         11  
824 2     2   13022 use MooseX::StrictConstructor;
  2         6  
  2         10  
825             extends 'Cfn::Value::TypedValue';
826            
827             has Expression => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
828             has Type => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
829             }
830              
831             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ProxyConfiguration',
832             as 'Cfn::Value';
833              
834             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ProxyConfiguration',
835             from 'HashRef',
836             via {
837             if (my $f = Cfn::TypeLibrary::try_function($_)) {
838             return $f
839             } else {
840             return Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ProxyConfigurationValue->new( %$_ );
841             }
842             };
843              
844             package Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ProxyConfigurationValue {
845 2     2   6685 use Moose;
  2         5  
  2         13  
846 2     2   13141 use MooseX::StrictConstructor;
  2         8  
  2         13  
847             extends 'Cfn::Value::TypedValue';
848            
849             has ContainerName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
850             has ProxyConfigurationProperties => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::KeyValuePair', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
851             has Type => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
852             }
853             subtype 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::InferenceAccelerator',
854             as 'Cfn::Value',
855             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
856             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
857              
858             coerce 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::InferenceAccelerator',
859             from 'HashRef',
860             via {
861             if (my $f = Cfn::TypeLibrary::try_function($_)) {
862             return $f
863             } else {
864             die 'Only accepts functions';
865             }
866             },
867             from 'ArrayRef',
868             via {
869             Cfn::Value::Array->new(Value => [
870             map {
871             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::ECS::TaskDefinition::InferenceAccelerator')->coerce($_)
872             } @$_
873             ]);
874             };
875              
876             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::InferenceAccelerator',
877             as 'Cfn::Value';
878              
879             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::InferenceAccelerator',
880             from 'HashRef',
881             via {
882             if (my $f = Cfn::TypeLibrary::try_function($_)) {
883             return $f
884             } else {
885             return Cfn::Resource::Properties::AWS::ECS::TaskDefinition::InferenceAcceleratorValue->new( %$_ );
886             }
887             };
888              
889             package Cfn::Resource::Properties::AWS::ECS::TaskDefinition::InferenceAcceleratorValue {
890 2     2   7252 use Moose;
  2         7  
  2         10  
891 2     2   13511 use MooseX::StrictConstructor;
  2         9  
  2         11  
892             extends 'Cfn::Value::TypedValue';
893            
894             has DeviceName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
895             has DevicePolicy => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
896             has DeviceType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
897             }
898             subtype 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDefinition',
899             as 'Cfn::Value',
900             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
901             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
902              
903             coerce 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDefinition',
904             from 'HashRef',
905             via {
906             if (my $f = Cfn::TypeLibrary::try_function($_)) {
907             return $f
908             } else {
909             die 'Only accepts functions';
910             }
911             },
912             from 'ArrayRef',
913             via {
914             Cfn::Value::Array->new(Value => [
915             map {
916             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDefinition')->coerce($_)
917             } @$_
918             ]);
919             };
920              
921             subtype 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDefinition',
922             as 'Cfn::Value';
923              
924             coerce 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDefinition',
925             from 'HashRef',
926             via {
927             if (my $f = Cfn::TypeLibrary::try_function($_)) {
928             return $f
929             } else {
930             return Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDefinitionValue->new( %$_ );
931             }
932             };
933              
934             package Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDefinitionValue {
935 2     2   7146 use Moose;
  2         7  
  2         12  
936 2     2   13086 use MooseX::StrictConstructor;
  2         6  
  2         11  
937             extends 'Cfn::Value::TypedValue';
938            
939             has Command => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
940             has Cpu => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
941             has DependsOn => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDependency', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
942             has DisableNetworking => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
943             has DnsSearchDomains => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
944             has DnsServers => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
945             has DockerLabels => (isa => 'Cfn::Value::Hash|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
946             has DockerSecurityOptions => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
947             has EntryPoint => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
948             has Environment => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::KeyValuePair', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
949             has Essential => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
950             has ExtraHosts => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::HostEntry', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
951             has FirelensConfiguration => (isa => 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::FirelensConfiguration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
952             has HealthCheck => (isa => 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::HealthCheck', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
953             has Hostname => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
954             has Image => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
955             has Interactive => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
956             has Links => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
957             has LinuxParameters => (isa => 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::LinuxParameters', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
958             has LogConfiguration => (isa => 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::LogConfiguration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
959             has Memory => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
960             has MemoryReservation => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
961             has MountPoints => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::MountPoint', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
962             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
963             has PortMappings => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::PortMapping', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
964             has Privileged => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
965             has PseudoTerminal => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
966             has ReadonlyRootFilesystem => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
967             has RepositoryCredentials => (isa => 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::RepositoryCredentials', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
968             has ResourceRequirements => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::ResourceRequirement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
969             has Secrets => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::Secret', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
970             has StartTimeout => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
971             has StopTimeout => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
972             has SystemControls => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::SystemControl', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
973             has Ulimits => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::Ulimit', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
974             has User => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
975             has VolumesFrom => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::VolumeFrom', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
976             has WorkingDirectory => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
977             }
978              
979             package Cfn::Resource::Properties::AWS::ECS::TaskDefinition {
980 2     2   7711 use Moose;
  2         5  
  2         12  
981 2     2   13173 use MooseX::StrictConstructor;
  2         10  
  2         10  
982             extends 'Cfn::Resource::Properties';
983            
984             has ContainerDefinitions => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::ContainerDefinition', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
985             has Cpu => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
986             has ExecutionRoleArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
987             has Family => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
988             has InferenceAccelerators => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::InferenceAccelerator', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
989             has IpcMode => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
990             has Memory => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
991             has NetworkMode => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
992             has PidMode => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
993             has PlacementConstraints => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::TaskDefinitionPlacementConstraint', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
994             has ProxyConfiguration => (isa => 'Cfn::Resource::Properties::AWS::ECS::TaskDefinition::ProxyConfiguration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
995             has RequiresCompatibilities => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
996             has Tags => (isa => 'ArrayOfCfn::Resource::Properties::TagType', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
997             has TaskRoleArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
998             has Volumes => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ECS::TaskDefinition::Volume', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
999             }
1000              
1001             1;