File Coverage

blib/lib/Cfn/Resource/AWS/Serverless/Function.pm
Criterion Covered Total %
statement 15 15 100.0
branch n/a
condition n/a
subroutine 6 6 100.0
pod 0 2 0.0
total 21 23 91.3


line stmt bran cond sub pod time code
1 1     1   690 use Moose::Util::TypeConstraints;
  1         3  
  1         11  
2              
3             coerce 'Cfn::Resource::Properties::AWS::Serverless::Function',
4             from 'HashRef',
5             via { Cfn::Resource::Properties::AWS::Serverless::Function->new(%$_) };
6              
7             package Cfn::Resource::AWS::Serverless::Function {
8 1     1   2265 use Moose;
  1         2  
  1         8  
9             extends 'Cfn::Resource';
10             has Properties => ( isa => 'Cfn::Resource::Properties::AWS::Serverless::Function', is => 'rw', coerce => 1 );
11              
12             sub supported_regions {
13 1     1 0 1138 require Cfn::Resource::AWS::Lambda::Function;
14 1         8 Cfn::Resource::AWS::Lambda::Function->supported_regions;
15             }
16              
17             sub AttributeList {
18 1     1 0 5 ['Arn']
19             }
20             }
21              
22             package Cfn::Resource::Properties::AWS::Serverless::Function {
23 1     1   7190 use Moose;
  1         3  
  1         5  
24 1     1   6514 use MooseX::StrictConstructor;
  1         3  
  1         11  
25             extends 'Cfn::Resource::Properties';
26              
27             has Handler => ( isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1 );
28             has Runtime => ( isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1 );
29             has CodeUri => ( isa => 'Cfn::Value', is => 'rw', coerce => 1 );
30             has InlineCode => ( isa => 'Cfn::Value::String', is => 'rw', coerce => 1 );
31             has FunctionName => ( isa => 'Cfn::Value::String', is => 'rw', coerce => 1 );
32             has Description => ( isa => 'Cfn::Value::String', is => 'rw', coerce => 1 );
33             has MemorySize => ( isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1 );
34             has Timeout => ( isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1 );
35             has Role => ( isa => 'Cfn::Value::String', is => 'rw', coerce => 1 );
36             has Policies => ( isa => 'Cfn::Value', is => 'rw', coerce => 1 );
37             has Environment => ( isa => 'Cfn::Value', is => 'rw', coerce => 1 );
38             has VpcConfig => ( isa => 'Cfn::Value', is => 'rw', coerce => 1 );
39             has Events => ( isa => 'Cfn::Value', is => 'rw', coerce => 1 );
40             has Tags => ( isa => 'Cfn::Value', is => 'rw', coerce => 1 );
41             has Tracing => ( isa => 'Cfn::Value::String', is => 'rw', coerce => 1 );
42             has KmsKeyArn => ( isa => 'Cfn::Value::String', is => 'rw', coerce => 1 );
43             has DeadLetterQueue => ( isa => 'Cfn::Value::String', is => 'rw', coerce => 1 );
44             has DeploymentPreference => ( isa => 'Cfn::Value', is => 'rw', coerce => 1 );
45             has Layers => ( isa => 'Cfn::Value::ArrayOfPrimitives', is => 'rw', coerce => 1 );
46             has AutoPublishAlias => ( isa => 'Cfn::Value::String', is => 'rw', coerce => 1 );
47             has ReservedConcurrentExecutions => ( isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1 );
48             }
49              
50             1;