File Coverage

blib/lib/Cfn/Resource/AWS/Lambda/Function.pm
Criterion Covered Total %
statement 50 50 100.0
branch n/a
condition n/a
subroutine 18 18 100.0
pod 0 2 0.0
total 68 70 97.1


line stmt bran cond sub pod time code
1             # AWS::Lambda::Function generated from spec 21.0.0
2 4     4   3179 use Moose::Util::TypeConstraints;
  4         20  
  4         55  
3              
4             coerce 'Cfn::Resource::Properties::AWS::Lambda::Function',
5             from 'HashRef',
6             via { Cfn::Resource::Properties::AWS::Lambda::Function->new( %$_ ) };
7              
8             package Cfn::Resource::AWS::Lambda::Function {
9 4     4   9307 use Moose;
  4         13  
  4         37  
10             extends 'Cfn::Resource';
11             has Properties => (isa => 'Cfn::Resource::Properties::AWS::Lambda::Function', is => 'rw', coerce => 1);
12            
13             sub AttributeList {
14 1     1 0 5 [ 'Arn' ]
15             }
16             sub supported_regions {
17 8     8 0 1237 [ 'af-south-1','ap-east-1','ap-northeast-1','ap-northeast-2','ap-northeast-3','ap-south-1','ap-southeast-1','ap-southeast-2','ca-central-1','cn-north-1','cn-northwest-1','eu-central-1','eu-north-1','eu-south-1','eu-west-1','eu-west-2','eu-west-3','me-south-1','sa-east-1','us-east-1','us-east-2','us-gov-east-1','us-gov-west-1','us-west-1','us-west-2' ]
18             }
19             }
20              
21              
22              
23             subtype 'Cfn::Resource::Properties::AWS::Lambda::Function::VpcConfig',
24             as 'Cfn::Value';
25              
26             coerce 'Cfn::Resource::Properties::AWS::Lambda::Function::VpcConfig',
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::Lambda::Function::VpcConfig->new( %$_ );
33             }
34             };
35              
36             package Cfn::Resource::Properties::Object::AWS::Lambda::Function::VpcConfig {
37 4     4   30158 use Moose;
  4         16  
  4         24  
38 4     4   26687 use MooseX::StrictConstructor;
  4         16  
  4         44  
39             extends 'Cfn::Value::TypedValue';
40            
41             has SecurityGroupIds => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
42             has SubnetIds => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
43             }
44              
45             subtype 'Cfn::Resource::Properties::AWS::Lambda::Function::TracingConfig',
46             as 'Cfn::Value';
47              
48             coerce 'Cfn::Resource::Properties::AWS::Lambda::Function::TracingConfig',
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::Lambda::Function::TracingConfig->new( %$_ );
55             }
56             };
57              
58             package Cfn::Resource::Properties::Object::AWS::Lambda::Function::TracingConfig {
59 4     4   14114 use Moose;
  4         10  
  4         32  
60 4     4   25924 use MooseX::StrictConstructor;
  4         13  
  4         21  
61             extends 'Cfn::Value::TypedValue';
62            
63             has Mode => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
64             }
65             subtype 'ArrayOfCfn::Resource::Properties::AWS::Lambda::Function::FileSystemConfig',
66             as 'Cfn::Value',
67             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
68             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
69              
70             coerce 'ArrayOfCfn::Resource::Properties::AWS::Lambda::Function::FileSystemConfig',
71             from 'HashRef',
72             via {
73             if (my $f = Cfn::TypeLibrary::try_function($_)) {
74             return $f
75             } else {
76             die 'Only accepts functions';
77             }
78             },
79             from 'ArrayRef',
80             via {
81             Cfn::Value::Array->new(Value => [
82             map {
83             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::Lambda::Function::FileSystemConfig')->coerce($_)
84             } @$_
85             ]);
86             };
87              
88             subtype 'Cfn::Resource::Properties::AWS::Lambda::Function::FileSystemConfig',
89             as 'Cfn::Value';
90              
91             coerce 'Cfn::Resource::Properties::AWS::Lambda::Function::FileSystemConfig',
92             from 'HashRef',
93             via {
94             if (my $f = Cfn::TypeLibrary::try_function($_)) {
95             return $f
96             } else {
97             return Cfn::Resource::Properties::Object::AWS::Lambda::Function::FileSystemConfig->new( %$_ );
98             }
99             };
100              
101             package Cfn::Resource::Properties::Object::AWS::Lambda::Function::FileSystemConfig {
102 4     4   13947 use Moose;
  4         9  
  4         34  
103 4     4   25849 use MooseX::StrictConstructor;
  4         15  
  4         27  
104             extends 'Cfn::Value::TypedValue';
105            
106             has Arn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
107             has LocalMountPath => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
108             }
109              
110             subtype 'Cfn::Resource::Properties::AWS::Lambda::Function::Environment',
111             as 'Cfn::Value';
112              
113             coerce 'Cfn::Resource::Properties::AWS::Lambda::Function::Environment',
114             from 'HashRef',
115             via {
116             if (my $f = Cfn::TypeLibrary::try_function($_)) {
117             return $f
118             } else {
119             return Cfn::Resource::Properties::Object::AWS::Lambda::Function::Environment->new( %$_ );
120             }
121             };
122              
123             package Cfn::Resource::Properties::Object::AWS::Lambda::Function::Environment {
124 4     4   13487 use Moose;
  4         22  
  4         37  
125 4     4   26153 use MooseX::StrictConstructor;
  4         13  
  4         22  
126             extends 'Cfn::Value::TypedValue';
127            
128             has Variables => (isa => 'Cfn::Value::Hash|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
129             }
130              
131             subtype 'Cfn::Resource::Properties::AWS::Lambda::Function::DeadLetterConfig',
132             as 'Cfn::Value';
133              
134             coerce 'Cfn::Resource::Properties::AWS::Lambda::Function::DeadLetterConfig',
135             from 'HashRef',
136             via {
137             if (my $f = Cfn::TypeLibrary::try_function($_)) {
138             return $f
139             } else {
140             return Cfn::Resource::Properties::Object::AWS::Lambda::Function::DeadLetterConfig->new( %$_ );
141             }
142             };
143              
144             package Cfn::Resource::Properties::Object::AWS::Lambda::Function::DeadLetterConfig {
145 4     4   13472 use Moose;
  4         11  
  4         34  
146 4     4   26817 use MooseX::StrictConstructor;
  4         14  
  4         25  
147             extends 'Cfn::Value::TypedValue';
148            
149             has TargetArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
150             }
151              
152             subtype 'Cfn::Resource::Properties::AWS::Lambda::Function::Code',
153             as 'Cfn::Value';
154              
155             coerce 'Cfn::Resource::Properties::AWS::Lambda::Function::Code',
156             from 'HashRef',
157             via {
158             if (my $f = Cfn::TypeLibrary::try_function($_)) {
159             return $f
160             } else {
161             return Cfn::Resource::Properties::Object::AWS::Lambda::Function::Code->new( %$_ );
162             }
163             };
164              
165             package Cfn::Resource::Properties::Object::AWS::Lambda::Function::Code {
166 4     4   13644 use Moose;
  4         11  
  4         24  
167 4     4   26036 use MooseX::StrictConstructor;
  4         12  
  4         25  
168             extends 'Cfn::Value::TypedValue';
169            
170             has S3Bucket => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
171             has S3Key => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
172             has S3ObjectVersion => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
173             has ZipFile => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
174             }
175              
176             package Cfn::Resource::Properties::AWS::Lambda::Function {
177 4     4   13406 use Moose;
  4         11  
  4         37  
178 4     4   26266 use MooseX::StrictConstructor;
  4         12  
  4         28  
179             extends 'Cfn::Resource::Properties';
180            
181             has Code => (isa => 'Cfn::Resource::Properties::AWS::Lambda::Function::Code', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
182             has CodeSigningConfigArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
183             has DeadLetterConfig => (isa => 'Cfn::Resource::Properties::AWS::Lambda::Function::DeadLetterConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
184             has Description => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
185             has Environment => (isa => 'Cfn::Resource::Properties::AWS::Lambda::Function::Environment', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
186             has FileSystemConfigs => (isa => 'ArrayOfCfn::Resource::Properties::AWS::Lambda::Function::FileSystemConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
187             has FunctionName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
188             has Handler => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
189             has KmsKeyArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
190             has Layers => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
191             has MemorySize => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
192             has ReservedConcurrentExecutions => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
193             has Role => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
194             has Runtime => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
195             has Tags => (isa => 'ArrayOfCfn::Resource::Properties::TagType', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
196             has Timeout => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
197             has TracingConfig => (isa => 'Cfn::Resource::Properties::AWS::Lambda::Function::TracingConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
198             has VpcConfig => (isa => 'Cfn::Resource::Properties::AWS::Lambda::Function::VpcConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
199             }
200              
201             1;
202             ### main pod documentation begin ###
203              
204             =encoding UTF-8
205              
206             =head1 NAME
207              
208             Cfn::Resource::AWS::Lambda::Function - Cfn resource for AWS::Lambda::Function
209              
210             =head1 DESCRIPTION
211              
212             This module implements a Perl module that represents the CloudFormation object AWS::Lambda::Function.
213              
214             See L<Cfn> for more information on how to use it.
215              
216             =head1 AUTHOR
217              
218             Jose Luis Martinez
219             CAPSiDE
220             jlmartinez@capside.com
221              
222             =head1 COPYRIGHT and LICENSE
223              
224             Copyright (c) 2013 by CAPSiDE
225             This code is distributed under the Apache 2 License. The full text of the
226             license can be found in the LICENSE file included with this module.
227              
228             =cut