File Coverage

blib/lib/Cfn/Resource/AWS/CodeBuild/Project.pm
Criterion Covered Total %
statement 134 134 100.0
branch n/a
condition n/a
subroutine 46 46 100.0
pod 0 2 0.0
total 180 182 98.9


line stmt bran cond sub pod time code
1             # AWS::CodeBuild::Project generated from spec 20.1.0
2 2     2   1590 use Moose::Util::TypeConstraints;
  2         7  
  2         81  
3              
4             coerce 'Cfn::Resource::Properties::AWS::CodeBuild::Project',
5             from 'HashRef',
6             via { Cfn::Resource::Properties::AWS::CodeBuild::Project->new( %$_ ) };
7              
8             package Cfn::Resource::AWS::CodeBuild::Project {
9 2     2   4723 use Moose;
  2         8  
  2         18  
10             extends 'Cfn::Resource';
11             has Properties => (isa => 'Cfn::Resource::Properties::AWS::CodeBuild::Project', is => 'rw', coerce => 1);
12            
13             sub AttributeList {
14 1     1 0 4 [ 'Arn' ]
15             }
16             sub supported_regions {
17 1     1 0 1220 [ 'ap-east-1','ap-northeast-1','ap-northeast-2','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              
23             subtype 'Cfn::Resource::Properties::AWS::CodeBuild::Project::SourceAuth',
24             as 'Cfn::Value';
25              
26             coerce 'Cfn::Resource::Properties::AWS::CodeBuild::Project::SourceAuth',
27             from 'HashRef',
28             via {
29             if (my $f = Cfn::TypeLibrary::try_function($_)) {
30             return $f
31             } else {
32             return Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::SourceAuth->new( %$_ );
33             }
34             };
35              
36             package Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::SourceAuth {
37 2     2   15154 use Moose;
  2         6  
  2         15  
38 2     2   13576 use MooseX::StrictConstructor;
  2         5  
  2         20  
39             extends 'Cfn::Value::TypedValue';
40            
41             has Resource => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
42             has Type => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
43             }
44              
45             subtype 'Cfn::Resource::Properties::AWS::CodeBuild::Project::S3LogsConfig',
46             as 'Cfn::Value';
47              
48             coerce 'Cfn::Resource::Properties::AWS::CodeBuild::Project::S3LogsConfig',
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::CodeBuild::Project::S3LogsConfig->new( %$_ );
55             }
56             };
57              
58             package Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::S3LogsConfig {
59 2     2   7660 use Moose;
  2         7  
  2         14  
60 2     2   14437 use MooseX::StrictConstructor;
  2         5  
  2         15  
61             extends 'Cfn::Value::TypedValue';
62            
63             has EncryptionDisabled => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
64             has Location => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
65             has Status => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
66             }
67              
68             subtype 'Cfn::Resource::Properties::AWS::CodeBuild::Project::RegistryCredential',
69             as 'Cfn::Value';
70              
71             coerce 'Cfn::Resource::Properties::AWS::CodeBuild::Project::RegistryCredential',
72             from 'HashRef',
73             via {
74             if (my $f = Cfn::TypeLibrary::try_function($_)) {
75             return $f
76             } else {
77             return Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::RegistryCredential->new( %$_ );
78             }
79             };
80              
81             package Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::RegistryCredential {
82 2     2   7286 use Moose;
  2         6  
  2         11  
83 2     2   13507 use MooseX::StrictConstructor;
  2         8  
  2         12  
84             extends 'Cfn::Value::TypedValue';
85            
86             has Credential => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
87             has CredentialProvider => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
88             }
89              
90             subtype 'Cfn::Resource::Properties::AWS::CodeBuild::Project::GitSubmodulesConfig',
91             as 'Cfn::Value';
92              
93             coerce 'Cfn::Resource::Properties::AWS::CodeBuild::Project::GitSubmodulesConfig',
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::CodeBuild::Project::GitSubmodulesConfig->new( %$_ );
100             }
101             };
102              
103             package Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::GitSubmodulesConfig {
104 2     2   7009 use Moose;
  2         7  
  2         11  
105 2     2   13480 use MooseX::StrictConstructor;
  2         5  
  2         13  
106             extends 'Cfn::Value::TypedValue';
107            
108             has FetchSubmodules => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
109             }
110             subtype 'ArrayOfCfn::Resource::Properties::AWS::CodeBuild::Project::FilterGroup',
111             as 'Cfn::Value',
112             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
113             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
114              
115             coerce 'ArrayOfCfn::Resource::Properties::AWS::CodeBuild::Project::FilterGroup',
116             from 'HashRef',
117             via {
118             if (my $f = Cfn::TypeLibrary::try_function($_)) {
119             return $f
120             } else {
121             die 'Only accepts functions';
122             }
123             },
124             from 'ArrayRef',
125             via {
126             Cfn::Value::Array->new(Value => [
127             map {
128             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::CodeBuild::Project::FilterGroup')->coerce($_)
129             } @$_
130             ]);
131             };
132              
133             subtype 'Cfn::Resource::Properties::AWS::CodeBuild::Project::FilterGroup',
134             as 'Cfn::Value';
135              
136             coerce 'Cfn::Resource::Properties::AWS::CodeBuild::Project::FilterGroup',
137             from 'HashRef',
138             via {
139             if (my $f = Cfn::TypeLibrary::try_function($_)) {
140             return $f
141             } else {
142             return Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::FilterGroup->new( %$_ );
143             }
144             };
145              
146             package Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::FilterGroup {
147 2     2   7412 use Moose;
  2         6  
  2         12  
148 2     2   13612 use MooseX::StrictConstructor;
  2         7  
  2         12  
149             extends 'Cfn::Value::TypedValue';
150            
151             }
152             subtype 'ArrayOfCfn::Resource::Properties::AWS::CodeBuild::Project::EnvironmentVariable',
153             as 'Cfn::Value',
154             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
155             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
156              
157             coerce 'ArrayOfCfn::Resource::Properties::AWS::CodeBuild::Project::EnvironmentVariable',
158             from 'HashRef',
159             via {
160             if (my $f = Cfn::TypeLibrary::try_function($_)) {
161             return $f
162             } else {
163             die 'Only accepts functions';
164             }
165             },
166             from 'ArrayRef',
167             via {
168             Cfn::Value::Array->new(Value => [
169             map {
170             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::CodeBuild::Project::EnvironmentVariable')->coerce($_)
171             } @$_
172             ]);
173             };
174              
175             subtype 'Cfn::Resource::Properties::AWS::CodeBuild::Project::EnvironmentVariable',
176             as 'Cfn::Value';
177              
178             coerce 'Cfn::Resource::Properties::AWS::CodeBuild::Project::EnvironmentVariable',
179             from 'HashRef',
180             via {
181             if (my $f = Cfn::TypeLibrary::try_function($_)) {
182             return $f
183             } else {
184             return Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::EnvironmentVariable->new( %$_ );
185             }
186             };
187              
188             package Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::EnvironmentVariable {
189 2     2   7271 use Moose;
  2         7  
  2         12  
190 2     2   13437 use MooseX::StrictConstructor;
  2         5  
  2         13  
191             extends 'Cfn::Value::TypedValue';
192            
193             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
194             has Type => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
195             has Value => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
196             }
197              
198             subtype 'Cfn::Resource::Properties::AWS::CodeBuild::Project::CloudWatchLogsConfig',
199             as 'Cfn::Value';
200              
201             coerce 'Cfn::Resource::Properties::AWS::CodeBuild::Project::CloudWatchLogsConfig',
202             from 'HashRef',
203             via {
204             if (my $f = Cfn::TypeLibrary::try_function($_)) {
205             return $f
206             } else {
207             return Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::CloudWatchLogsConfig->new( %$_ );
208             }
209             };
210              
211             package Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::CloudWatchLogsConfig {
212 2     2   7002 use Moose;
  2         11  
  2         39  
213 2     2   13354 use MooseX::StrictConstructor;
  2         7  
  2         15  
214             extends 'Cfn::Value::TypedValue';
215            
216             has GroupName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
217             has Status => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
218             has StreamName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
219             }
220              
221             subtype 'Cfn::Resource::Properties::AWS::CodeBuild::Project::BuildStatusConfig',
222             as 'Cfn::Value';
223              
224             coerce 'Cfn::Resource::Properties::AWS::CodeBuild::Project::BuildStatusConfig',
225             from 'HashRef',
226             via {
227             if (my $f = Cfn::TypeLibrary::try_function($_)) {
228             return $f
229             } else {
230             return Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::BuildStatusConfig->new( %$_ );
231             }
232             };
233              
234             package Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::BuildStatusConfig {
235 2     2   6973 use Moose;
  2         6  
  2         11  
236 2     2   13575 use MooseX::StrictConstructor;
  2         7  
  2         12  
237             extends 'Cfn::Value::TypedValue';
238            
239             has Context => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
240             has TargetUrl => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
241             }
242              
243             subtype 'Cfn::Resource::Properties::AWS::CodeBuild::Project::BatchRestrictions',
244             as 'Cfn::Value';
245              
246             coerce 'Cfn::Resource::Properties::AWS::CodeBuild::Project::BatchRestrictions',
247             from 'HashRef',
248             via {
249             if (my $f = Cfn::TypeLibrary::try_function($_)) {
250             return $f
251             } else {
252             return Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::BatchRestrictions->new( %$_ );
253             }
254             };
255              
256             package Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::BatchRestrictions {
257 2     2   7186 use Moose;
  2         4  
  2         19  
258 2     2   13643 use MooseX::StrictConstructor;
  2         5  
  2         16  
259             extends 'Cfn::Value::TypedValue';
260            
261             has ComputeTypesAllowed => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
262             has MaximumBuildsAllowed => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
263             }
264              
265             subtype 'Cfn::Resource::Properties::AWS::CodeBuild::Project::WebhookFilter',
266             as 'Cfn::Value';
267              
268             coerce 'Cfn::Resource::Properties::AWS::CodeBuild::Project::WebhookFilter',
269             from 'HashRef',
270             via {
271             if (my $f = Cfn::TypeLibrary::try_function($_)) {
272             return $f
273             } else {
274             return Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::WebhookFilter->new( %$_ );
275             }
276             };
277              
278             package Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::WebhookFilter {
279 2     2   6858 use Moose;
  2         9  
  2         15  
280 2     2   13254 use MooseX::StrictConstructor;
  2         6  
  2         13  
281             extends 'Cfn::Value::TypedValue';
282            
283             has ExcludeMatchedPattern => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
284             has Pattern => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
285             has Type => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
286             }
287              
288             subtype 'Cfn::Resource::Properties::AWS::CodeBuild::Project::VpcConfig',
289             as 'Cfn::Value';
290              
291             coerce 'Cfn::Resource::Properties::AWS::CodeBuild::Project::VpcConfig',
292             from 'HashRef',
293             via {
294             if (my $f = Cfn::TypeLibrary::try_function($_)) {
295             return $f
296             } else {
297             return Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::VpcConfig->new( %$_ );
298             }
299             };
300              
301             package Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::VpcConfig {
302 2     2   6800 use Moose;
  2         7  
  2         13  
303 2     2   13332 use MooseX::StrictConstructor;
  2         8  
  2         11  
304             extends 'Cfn::Value::TypedValue';
305            
306             has SecurityGroupIds => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
307             has Subnets => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
308             has VpcId => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
309             }
310             subtype 'ArrayOfCfn::Resource::Properties::AWS::CodeBuild::Project::Source',
311             as 'Cfn::Value',
312             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
313             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
314              
315             coerce 'ArrayOfCfn::Resource::Properties::AWS::CodeBuild::Project::Source',
316             from 'HashRef',
317             via {
318             if (my $f = Cfn::TypeLibrary::try_function($_)) {
319             return $f
320             } else {
321             die 'Only accepts functions';
322             }
323             },
324             from 'ArrayRef',
325             via {
326             Cfn::Value::Array->new(Value => [
327             map {
328             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::CodeBuild::Project::Source')->coerce($_)
329             } @$_
330             ]);
331             };
332              
333             subtype 'Cfn::Resource::Properties::AWS::CodeBuild::Project::Source',
334             as 'Cfn::Value';
335              
336             coerce 'Cfn::Resource::Properties::AWS::CodeBuild::Project::Source',
337             from 'HashRef',
338             via {
339             if (my $f = Cfn::TypeLibrary::try_function($_)) {
340             return $f
341             } else {
342             return Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::Source->new( %$_ );
343             }
344             };
345              
346             package Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::Source {
347 2     2   7250 use Moose;
  2         8  
  2         12  
348 2     2   13350 use MooseX::StrictConstructor;
  2         7  
  2         13  
349             extends 'Cfn::Value::TypedValue';
350            
351             has Auth => (isa => 'Cfn::Resource::Properties::AWS::CodeBuild::Project::SourceAuth', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
352             has BuildSpec => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
353             has BuildStatusConfig => (isa => 'Cfn::Resource::Properties::AWS::CodeBuild::Project::BuildStatusConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
354             has GitCloneDepth => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
355             has GitSubmodulesConfig => (isa => 'Cfn::Resource::Properties::AWS::CodeBuild::Project::GitSubmodulesConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
356             has InsecureSsl => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
357             has Location => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
358             has ReportBuildStatus => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
359             has SourceIdentifier => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
360             has Type => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
361             }
362              
363             subtype 'Cfn::Resource::Properties::AWS::CodeBuild::Project::ProjectTriggers',
364             as 'Cfn::Value';
365              
366             coerce 'Cfn::Resource::Properties::AWS::CodeBuild::Project::ProjectTriggers',
367             from 'HashRef',
368             via {
369             if (my $f = Cfn::TypeLibrary::try_function($_)) {
370             return $f
371             } else {
372             return Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::ProjectTriggers->new( %$_ );
373             }
374             };
375              
376             package Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::ProjectTriggers {
377 2     2   7668 use Moose;
  2         6  
  2         11  
378 2     2   13347 use MooseX::StrictConstructor;
  2         9  
  2         11  
379             extends 'Cfn::Value::TypedValue';
380            
381             has BuildType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
382             has FilterGroups => (isa => 'ArrayOfCfn::Resource::Properties::AWS::CodeBuild::Project::FilterGroup', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
383             has Webhook => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
384             }
385             subtype 'ArrayOfCfn::Resource::Properties::AWS::CodeBuild::Project::ProjectSourceVersion',
386             as 'Cfn::Value',
387             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
388             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
389              
390             coerce 'ArrayOfCfn::Resource::Properties::AWS::CodeBuild::Project::ProjectSourceVersion',
391             from 'HashRef',
392             via {
393             if (my $f = Cfn::TypeLibrary::try_function($_)) {
394             return $f
395             } else {
396             die 'Only accepts functions';
397             }
398             },
399             from 'ArrayRef',
400             via {
401             Cfn::Value::Array->new(Value => [
402             map {
403             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::CodeBuild::Project::ProjectSourceVersion')->coerce($_)
404             } @$_
405             ]);
406             };
407              
408             subtype 'Cfn::Resource::Properties::AWS::CodeBuild::Project::ProjectSourceVersion',
409             as 'Cfn::Value';
410              
411             coerce 'Cfn::Resource::Properties::AWS::CodeBuild::Project::ProjectSourceVersion',
412             from 'HashRef',
413             via {
414             if (my $f = Cfn::TypeLibrary::try_function($_)) {
415             return $f
416             } else {
417             return Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::ProjectSourceVersion->new( %$_ );
418             }
419             };
420              
421             package Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::ProjectSourceVersion {
422 2     2   7432 use Moose;
  2         6  
  2         12  
423 2     2   13257 use MooseX::StrictConstructor;
  2         5  
  2         11  
424             extends 'Cfn::Value::TypedValue';
425            
426             has SourceIdentifier => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
427             has SourceVersion => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
428             }
429             subtype 'ArrayOfCfn::Resource::Properties::AWS::CodeBuild::Project::ProjectFileSystemLocation',
430             as 'Cfn::Value',
431             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
432             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
433              
434             coerce 'ArrayOfCfn::Resource::Properties::AWS::CodeBuild::Project::ProjectFileSystemLocation',
435             from 'HashRef',
436             via {
437             if (my $f = Cfn::TypeLibrary::try_function($_)) {
438             return $f
439             } else {
440             die 'Only accepts functions';
441             }
442             },
443             from 'ArrayRef',
444             via {
445             Cfn::Value::Array->new(Value => [
446             map {
447             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::CodeBuild::Project::ProjectFileSystemLocation')->coerce($_)
448             } @$_
449             ]);
450             };
451              
452             subtype 'Cfn::Resource::Properties::AWS::CodeBuild::Project::ProjectFileSystemLocation',
453             as 'Cfn::Value';
454              
455             coerce 'Cfn::Resource::Properties::AWS::CodeBuild::Project::ProjectFileSystemLocation',
456             from 'HashRef',
457             via {
458             if (my $f = Cfn::TypeLibrary::try_function($_)) {
459             return $f
460             } else {
461             return Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::ProjectFileSystemLocation->new( %$_ );
462             }
463             };
464              
465             package Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::ProjectFileSystemLocation {
466 2     2   7202 use Moose;
  2         7  
  2         11  
467 2     2   13281 use MooseX::StrictConstructor;
  2         5  
  2         13  
468             extends 'Cfn::Value::TypedValue';
469            
470             has Identifier => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
471             has Location => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
472             has MountOptions => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
473             has MountPoint => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
474             has Type => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
475             }
476              
477             subtype 'Cfn::Resource::Properties::AWS::CodeBuild::Project::ProjectCache',
478             as 'Cfn::Value';
479              
480             coerce 'Cfn::Resource::Properties::AWS::CodeBuild::Project::ProjectCache',
481             from 'HashRef',
482             via {
483             if (my $f = Cfn::TypeLibrary::try_function($_)) {
484             return $f
485             } else {
486             return Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::ProjectCache->new( %$_ );
487             }
488             };
489              
490             package Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::ProjectCache {
491 2     2   7010 use Moose;
  2         14  
  2         15  
492 2     2   13244 use MooseX::StrictConstructor;
  2         6  
  2         18  
493             extends 'Cfn::Value::TypedValue';
494            
495             has Location => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
496             has Modes => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
497             has Type => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
498             }
499              
500             subtype 'Cfn::Resource::Properties::AWS::CodeBuild::Project::ProjectBuildBatchConfig',
501             as 'Cfn::Value';
502              
503             coerce 'Cfn::Resource::Properties::AWS::CodeBuild::Project::ProjectBuildBatchConfig',
504             from 'HashRef',
505             via {
506             if (my $f = Cfn::TypeLibrary::try_function($_)) {
507             return $f
508             } else {
509             return Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::ProjectBuildBatchConfig->new( %$_ );
510             }
511             };
512              
513             package Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::ProjectBuildBatchConfig {
514 2     2   6975 use Moose;
  2         7  
  2         15  
515 2     2   13961 use MooseX::StrictConstructor;
  2         12  
  2         14  
516             extends 'Cfn::Value::TypedValue';
517            
518             has CombineArtifacts => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
519             has Restrictions => (isa => 'Cfn::Resource::Properties::AWS::CodeBuild::Project::BatchRestrictions', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
520             has ServiceRole => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
521             has TimeoutInMins => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
522             }
523              
524             subtype 'Cfn::Resource::Properties::AWS::CodeBuild::Project::LogsConfig',
525             as 'Cfn::Value';
526              
527             coerce 'Cfn::Resource::Properties::AWS::CodeBuild::Project::LogsConfig',
528             from 'HashRef',
529             via {
530             if (my $f = Cfn::TypeLibrary::try_function($_)) {
531             return $f
532             } else {
533             return Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::LogsConfig->new( %$_ );
534             }
535             };
536              
537             package Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::LogsConfig {
538 2     2   7128 use Moose;
  2         6  
  2         24  
539 2     2   13497 use MooseX::StrictConstructor;
  2         7  
  2         15  
540             extends 'Cfn::Value::TypedValue';
541            
542             has CloudWatchLogs => (isa => 'Cfn::Resource::Properties::AWS::CodeBuild::Project::CloudWatchLogsConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
543             has S3Logs => (isa => 'Cfn::Resource::Properties::AWS::CodeBuild::Project::S3LogsConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
544             }
545              
546             subtype 'Cfn::Resource::Properties::AWS::CodeBuild::Project::Environment',
547             as 'Cfn::Value';
548              
549             coerce 'Cfn::Resource::Properties::AWS::CodeBuild::Project::Environment',
550             from 'HashRef',
551             via {
552             if (my $f = Cfn::TypeLibrary::try_function($_)) {
553             return $f
554             } else {
555             return Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::Environment->new( %$_ );
556             }
557             };
558              
559             package Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::Environment {
560 2     2   7218 use Moose;
  2         10  
  2         14  
561 2     2   13553 use MooseX::StrictConstructor;
  2         6  
  2         12  
562             extends 'Cfn::Value::TypedValue';
563            
564             has Certificate => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
565             has ComputeType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
566             has EnvironmentVariables => (isa => 'ArrayOfCfn::Resource::Properties::AWS::CodeBuild::Project::EnvironmentVariable', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
567             has Image => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
568             has ImagePullCredentialsType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
569             has PrivilegedMode => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
570             has RegistryCredential => (isa => 'Cfn::Resource::Properties::AWS::CodeBuild::Project::RegistryCredential', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
571             has Type => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
572             }
573             subtype 'ArrayOfCfn::Resource::Properties::AWS::CodeBuild::Project::Artifacts',
574             as 'Cfn::Value',
575             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
576             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
577              
578             coerce 'ArrayOfCfn::Resource::Properties::AWS::CodeBuild::Project::Artifacts',
579             from 'HashRef',
580             via {
581             if (my $f = Cfn::TypeLibrary::try_function($_)) {
582             return $f
583             } else {
584             die 'Only accepts functions';
585             }
586             },
587             from 'ArrayRef',
588             via {
589             Cfn::Value::Array->new(Value => [
590             map {
591             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::CodeBuild::Project::Artifacts')->coerce($_)
592             } @$_
593             ]);
594             };
595              
596             subtype 'Cfn::Resource::Properties::AWS::CodeBuild::Project::Artifacts',
597             as 'Cfn::Value';
598              
599             coerce 'Cfn::Resource::Properties::AWS::CodeBuild::Project::Artifacts',
600             from 'HashRef',
601             via {
602             if (my $f = Cfn::TypeLibrary::try_function($_)) {
603             return $f
604             } else {
605             return Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::Artifacts->new( %$_ );
606             }
607             };
608              
609             package Cfn::Resource::Properties::Object::AWS::CodeBuild::Project::Artifacts {
610 2     2   7551 use Moose;
  2         7  
  2         11  
611 2     2   13688 use MooseX::StrictConstructor;
  2         5  
  2         10  
612             extends 'Cfn::Value::TypedValue';
613            
614             has ArtifactIdentifier => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
615             has EncryptionDisabled => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
616             has Location => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
617             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
618             has NamespaceType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
619             has OverrideArtifactName => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
620             has Packaging => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
621             has Path => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
622             has Type => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
623             }
624              
625             package Cfn::Resource::Properties::AWS::CodeBuild::Project {
626 2     2   6925 use Moose;
  2         8  
  2         11  
627 2     2   13269 use MooseX::StrictConstructor;
  2         8  
  2         10  
628             extends 'Cfn::Resource::Properties';
629            
630             has Artifacts => (isa => 'Cfn::Resource::Properties::AWS::CodeBuild::Project::Artifacts', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
631             has BadgeEnabled => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
632             has BuildBatchConfig => (isa => 'Cfn::Resource::Properties::AWS::CodeBuild::Project::ProjectBuildBatchConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
633             has Cache => (isa => 'Cfn::Resource::Properties::AWS::CodeBuild::Project::ProjectCache', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
634             has Description => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
635             has EncryptionKey => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
636             has Environment => (isa => 'Cfn::Resource::Properties::AWS::CodeBuild::Project::Environment', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
637             has FileSystemLocations => (isa => 'ArrayOfCfn::Resource::Properties::AWS::CodeBuild::Project::ProjectFileSystemLocation', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
638             has LogsConfig => (isa => 'Cfn::Resource::Properties::AWS::CodeBuild::Project::LogsConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
639             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
640             has QueuedTimeoutInMinutes => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
641             has SecondaryArtifacts => (isa => 'ArrayOfCfn::Resource::Properties::AWS::CodeBuild::Project::Artifacts', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
642             has SecondarySourceVersions => (isa => 'ArrayOfCfn::Resource::Properties::AWS::CodeBuild::Project::ProjectSourceVersion', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
643             has SecondarySources => (isa => 'ArrayOfCfn::Resource::Properties::AWS::CodeBuild::Project::Source', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
644             has ServiceRole => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
645             has Source => (isa => 'Cfn::Resource::Properties::AWS::CodeBuild::Project::Source', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
646             has SourceVersion => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
647             has Tags => (isa => 'ArrayOfCfn::Resource::Properties::TagType', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
648             has TimeoutInMinutes => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
649             has Triggers => (isa => 'Cfn::Resource::Properties::AWS::CodeBuild::Project::ProjectTriggers', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
650             has VpcConfig => (isa => 'Cfn::Resource::Properties::AWS::CodeBuild::Project::VpcConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
651             }
652              
653             1;
654             ### main pod documentation begin ###
655              
656             =encoding UTF-8
657              
658             =head1 NAME
659              
660             Cfn::Resource::AWS::CodeBuild::Project - Cfn resource for AWS::CodeBuild::Project
661              
662             =head1 DESCRIPTION
663              
664             This module implements a Perl module that represents the CloudFormation object AWS::CodeBuild::Project.
665              
666             See L<Cfn> for more information on how to use it.
667              
668             =head1 AUTHOR
669              
670             Jose Luis Martinez
671             CAPSiDE
672             jlmartinez@capside.com
673              
674             =head1 COPYRIGHT and LICENSE
675              
676             Copyright (c) 2013 by CAPSiDE
677             This code is distributed under the Apache 2 License. The full text of the
678             license can be found in the LICENSE file included with this module.
679              
680             =cut