File Coverage

blib/lib/Cfn/Resource/AWS/CloudWatch/Alarm.pm
Criterion Covered Total %
statement 12 12 100.0
branch n/a
condition n/a
subroutine 4 4 100.0
pod n/a
total 16 16 100.0


line stmt bran cond sub pod time code
1 2     2   1399 use Moose::Util::TypeConstraints;
  2         7  
  2         24  
2              
3             coerce 'Cfn::Resource::Properties::AWS::CloudWatch::Alarm',
4             from 'HashRef',
5             via { Cfn::Resource::Properties::AWS::CloudWatch::Alarm->new( %$_ ) };
6              
7             package Cfn::Resource::AWS::CloudWatch::Alarm {
8 2     2   4679 use Moose;
  2         5  
  2         16  
9             extends 'Cfn::Resource';
10             has Properties => (isa => 'Cfn::Resource::Properties::AWS::CloudWatch::Alarm', is => 'rw', coerce => 1, required => 1);
11             }
12              
13             package Cfn::Resource::Properties::AWS::CloudWatch::Alarm {
14 2     2   14679 use Moose;
  2         6  
  2         10  
15 2     2   13409 use MooseX::StrictConstructor;
  2         5  
  2         20  
16             extends 'Cfn::Resource::Properties';
17             has ActionsEnabled => (isa => 'Cfn::Value', is => 'rw', coerce => 1);
18             has AlarmActions => (isa => 'Cfn::Value::Array|Cfn::Value::Function', is => 'rw', coerce => 1);
19             has AlarmDescription => (isa => 'Cfn::Value', is => 'rw', coerce => 1);
20             has AlarmName => (isa => 'Cfn::Value', is => 'rw', coerce => 1);
21             # TODO: restriction GreaterThanOrEqualToThreshold | GreaterThanThreshold | LessThanThreshold | LessThanOrEqualToThreshold
22             has ComparisonOperator => (isa => 'Cfn::Value', is => 'rw', coerce => 1, required => 1);
23             has Dimensions => (isa => 'Cfn::Value::Array|Cfn::Value::Function', is => 'rw', coerce => 1);
24             has EvaluationPeriods => (isa => 'Cfn::Value', is => 'rw', coerce => 1, required => 1);
25             has InsufficientDataActions => (isa => 'Cfn::Value::Array|Cfn::Value::Function', is => 'rw', coerce => 1);
26             has MetricName => (isa => 'Cfn::Value', is => 'rw', coerce => 1, required => 1);
27             has Namespace => (isa => 'Cfn::Value', is => 'rw', coerce => 1, required => 1);
28             has OKActions => (isa => 'Cfn::Value::Array|Cfn::Value::Function', is => 'rw', coerce => 1);
29             has Period => (isa => 'Cfn::Value', is => 'rw', coerce => 1, required => 1);
30             has Statistic => (isa => 'Cfn::Value', is => 'rw', coerce => 1, required => 1);
31             has Threshold => (isa => 'Cfn::Value', is => 'rw', coerce => 1, required => 1);
32             has Unit => (isa => 'Cfn::Value', is => 'rw', coerce => 1);
33             }
34              
35             1;