File Coverage

blib/lib/Cfn/Resource/AWS/Synthetics/Canary.pm
Criterion Covered Total %
statement 38 38 100.0
branch n/a
condition n/a
subroutine 14 14 100.0
pod 0 2 0.0
total 52 54 96.3


line stmt bran cond sub pod time code
1             # AWS::Synthetics::Canary generated from spec 21.0.0
2 1     1   763 use Moose::Util::TypeConstraints;
  1         3  
  1         10  
3              
4             coerce 'Cfn::Resource::Properties::AWS::Synthetics::Canary',
5             from 'HashRef',
6             via { Cfn::Resource::Properties::AWS::Synthetics::Canary->new( %$_ ) };
7              
8             package Cfn::Resource::AWS::Synthetics::Canary {
9 1     1   2236 use Moose;
  1         3  
  1         21  
10             extends 'Cfn::Resource';
11             has Properties => (isa => 'Cfn::Resource::Properties::AWS::Synthetics::Canary', is => 'rw', coerce => 1);
12            
13             sub AttributeList {
14 1     1 0 4 [ 'Id','State' ]
15             }
16             sub supported_regions {
17 1     1 0 1138 [ 'af-south-1','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-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::Synthetics::Canary::VPCConfig',
24             as 'Cfn::Value';
25              
26             coerce 'Cfn::Resource::Properties::AWS::Synthetics::Canary::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::Synthetics::Canary::VPCConfig->new( %$_ );
33             }
34             };
35              
36             package Cfn::Resource::Properties::Object::AWS::Synthetics::Canary::VPCConfig {
37 1     1   7291 use Moose;
  1         3  
  1         5  
38 1     1   6653 use MooseX::StrictConstructor;
  1         4  
  1         13  
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             has VpcId => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
44             }
45              
46             subtype 'Cfn::Resource::Properties::AWS::Synthetics::Canary::Schedule',
47             as 'Cfn::Value';
48              
49             coerce 'Cfn::Resource::Properties::AWS::Synthetics::Canary::Schedule',
50             from 'HashRef',
51             via {
52             if (my $f = Cfn::TypeLibrary::try_function($_)) {
53             return $f
54             } else {
55             return Cfn::Resource::Properties::Object::AWS::Synthetics::Canary::Schedule->new( %$_ );
56             }
57             };
58              
59             package Cfn::Resource::Properties::Object::AWS::Synthetics::Canary::Schedule {
60 1     1   3846 use Moose;
  1         4  
  1         6  
61 1     1   6550 use MooseX::StrictConstructor;
  1         3  
  1         9  
62             extends 'Cfn::Value::TypedValue';
63            
64             has DurationInSeconds => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
65             has Expression => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
66             }
67              
68             subtype 'Cfn::Resource::Properties::AWS::Synthetics::Canary::RunConfig',
69             as 'Cfn::Value';
70              
71             coerce 'Cfn::Resource::Properties::AWS::Synthetics::Canary::RunConfig',
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::Synthetics::Canary::RunConfig->new( %$_ );
78             }
79             };
80              
81             package Cfn::Resource::Properties::Object::AWS::Synthetics::Canary::RunConfig {
82 1     1   3806 use Moose;
  1         8  
  1         15  
83 1     1   6641 use MooseX::StrictConstructor;
  1         4  
  1         7  
84             extends 'Cfn::Value::TypedValue';
85            
86             has ActiveTracing => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
87             has EnvironmentVariables => (isa => 'Cfn::Value::Hash|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
88             has MemoryInMB => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
89             has TimeoutInSeconds => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
90             }
91              
92             subtype 'Cfn::Resource::Properties::AWS::Synthetics::Canary::Code',
93             as 'Cfn::Value';
94              
95             coerce 'Cfn::Resource::Properties::AWS::Synthetics::Canary::Code',
96             from 'HashRef',
97             via {
98             if (my $f = Cfn::TypeLibrary::try_function($_)) {
99             return $f
100             } else {
101             return Cfn::Resource::Properties::Object::AWS::Synthetics::Canary::Code->new( %$_ );
102             }
103             };
104              
105             package Cfn::Resource::Properties::Object::AWS::Synthetics::Canary::Code {
106 1     1   3470 use Moose;
  1         2  
  1         8  
107 1     1   6586 use MooseX::StrictConstructor;
  1         4  
  1         5  
108             extends 'Cfn::Value::TypedValue';
109            
110             has Handler => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
111             has S3Bucket => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
112             has S3Key => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
113             has S3ObjectVersion => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
114             has Script => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
115             }
116              
117             package Cfn::Resource::Properties::AWS::Synthetics::Canary {
118 1     1   3461 use Moose;
  1         3  
  1         9  
119 1     1   6585 use MooseX::StrictConstructor;
  1         8  
  1         7  
120             extends 'Cfn::Resource::Properties';
121            
122             has ArtifactS3Location => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
123             has Code => (isa => 'Cfn::Resource::Properties::AWS::Synthetics::Canary::Code', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
124             has ExecutionRoleArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
125             has FailureRetentionPeriod => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
126             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
127             has RunConfig => (isa => 'Cfn::Resource::Properties::AWS::Synthetics::Canary::RunConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
128             has RuntimeVersion => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
129             has Schedule => (isa => 'Cfn::Resource::Properties::AWS::Synthetics::Canary::Schedule', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
130             has StartCanaryAfterCreation => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
131             has SuccessRetentionPeriod => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
132             has Tags => (isa => 'ArrayOfCfn::Resource::Properties::TagType', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
133             has VPCConfig => (isa => 'Cfn::Resource::Properties::AWS::Synthetics::Canary::VPCConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
134             }
135              
136             1;
137             ### main pod documentation begin ###
138              
139             =encoding UTF-8
140              
141             =head1 NAME
142              
143             Cfn::Resource::AWS::Synthetics::Canary - Cfn resource for AWS::Synthetics::Canary
144              
145             =head1 DESCRIPTION
146              
147             This module implements a Perl module that represents the CloudFormation object AWS::Synthetics::Canary.
148              
149             See L<Cfn> for more information on how to use it.
150              
151             =head1 AUTHOR
152              
153             Jose Luis Martinez
154             CAPSiDE
155             jlmartinez@capside.com
156              
157             =head1 COPYRIGHT and LICENSE
158              
159             Copyright (c) 2013 by CAPSiDE
160             This code is distributed under the Apache 2 License. The full text of the
161             license can be found in the LICENSE file included with this module.
162              
163             =cut