File Coverage

blib/lib/Cfn/Resource/AWS/GameLift/GameServerGroup.pm
Criterion Covered Total %
statement 56 56 100.0
branch n/a
condition n/a
subroutine 20 20 100.0
pod 0 2 0.0
total 76 78 97.4


line stmt bran cond sub pod time code
1             # AWS::GameLift::GameServerGroup generated from spec 20.1.0
2 1     1   735 use Moose::Util::TypeConstraints;
  1         3  
  1         12  
3              
4             coerce 'Cfn::Resource::Properties::AWS::GameLift::GameServerGroup',
5             from 'HashRef',
6             via { Cfn::Resource::Properties::AWS::GameLift::GameServerGroup->new( %$_ ) };
7              
8             package Cfn::Resource::AWS::GameLift::GameServerGroup {
9 1     1   2334 use Moose;
  1         3  
  1         12  
10             extends 'Cfn::Resource';
11             has Properties => (isa => 'Cfn::Resource::Properties::AWS::GameLift::GameServerGroup', is => 'rw', coerce => 1);
12            
13             sub AttributeList {
14 1     1 0 5 [ 'AutoScalingGroupArn','GameServerGroupArn' ]
15             }
16             sub supported_regions {
17 1     1 0 1171 [ 'ap-northeast-1','ap-northeast-2','ap-south-1','ap-southeast-1','ap-southeast-2','ca-central-1','cn-north-1','eu-central-1','eu-west-1','eu-west-2','sa-east-1','us-east-1','us-east-2','us-west-1','us-west-2' ]
18             }
19             }
20              
21              
22              
23             subtype 'Cfn::Resource::Properties::AWS::GameLift::GameServerGroup::TargetTrackingConfiguration',
24             as 'Cfn::Value';
25              
26             coerce 'Cfn::Resource::Properties::AWS::GameLift::GameServerGroup::TargetTrackingConfiguration',
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::GameLift::GameServerGroup::TargetTrackingConfiguration->new( %$_ );
33             }
34             };
35              
36             package Cfn::Resource::Properties::Object::AWS::GameLift::GameServerGroup::TargetTrackingConfiguration {
37 1     1   7679 use Moose;
  1         4  
  1         6  
38 1     1   6583 use MooseX::StrictConstructor;
  1         3  
  1         10  
39             extends 'Cfn::Value::TypedValue';
40            
41             has TargetValue => (isa => 'Cfn::Value::Double', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
42             }
43             subtype 'ArrayOfCfn::Resource::Properties::AWS::GameLift::GameServerGroup::InstanceDefinition',
44             as 'Cfn::Value',
45             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
46             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
47              
48             coerce 'ArrayOfCfn::Resource::Properties::AWS::GameLift::GameServerGroup::InstanceDefinition',
49             from 'HashRef',
50             via {
51             if (my $f = Cfn::TypeLibrary::try_function($_)) {
52             return $f
53             } else {
54             die 'Only accepts functions';
55             }
56             },
57             from 'ArrayRef',
58             via {
59             Cfn::Value::Array->new(Value => [
60             map {
61             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::GameLift::GameServerGroup::InstanceDefinition')->coerce($_)
62             } @$_
63             ]);
64             };
65              
66             subtype 'Cfn::Resource::Properties::AWS::GameLift::GameServerGroup::InstanceDefinition',
67             as 'Cfn::Value';
68              
69             coerce 'Cfn::Resource::Properties::AWS::GameLift::GameServerGroup::InstanceDefinition',
70             from 'HashRef',
71             via {
72             if (my $f = Cfn::TypeLibrary::try_function($_)) {
73             return $f
74             } else {
75             return Cfn::Resource::Properties::Object::AWS::GameLift::GameServerGroup::InstanceDefinition->new( %$_ );
76             }
77             };
78              
79             package Cfn::Resource::Properties::Object::AWS::GameLift::GameServerGroup::InstanceDefinition {
80 1     1   3916 use Moose;
  1         4  
  1         6  
81 1     1   6613 use MooseX::StrictConstructor;
  1         3  
  1         5  
82             extends 'Cfn::Value::TypedValue';
83            
84             has InstanceType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
85             has WeightedCapacity => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
86             }
87              
88             subtype 'Cfn::Resource::Properties::AWS::GameLift::GameServerGroup::VpcSubnets',
89             as 'Cfn::Value';
90              
91             coerce 'Cfn::Resource::Properties::AWS::GameLift::GameServerGroup::VpcSubnets',
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::GameLift::GameServerGroup::VpcSubnets->new( %$_ );
98             }
99             };
100              
101             package Cfn::Resource::Properties::Object::AWS::GameLift::GameServerGroup::VpcSubnets {
102 1     1   3412 use Moose;
  1         3  
  1         6  
103 1     1   6540 use MooseX::StrictConstructor;
  1         4  
  1         6  
104             extends 'Cfn::Value::TypedValue';
105            
106             has VpcSubnets => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
107             }
108              
109             subtype 'Cfn::Resource::Properties::AWS::GameLift::GameServerGroup::Tags',
110             as 'Cfn::Value';
111              
112             coerce 'Cfn::Resource::Properties::AWS::GameLift::GameServerGroup::Tags',
113             from 'HashRef',
114             via {
115             if (my $f = Cfn::TypeLibrary::try_function($_)) {
116             return $f
117             } else {
118             return Cfn::Resource::Properties::Object::AWS::GameLift::GameServerGroup::Tags->new( %$_ );
119             }
120             };
121              
122             package Cfn::Resource::Properties::Object::AWS::GameLift::GameServerGroup::Tags {
123 1     1   3665 use Moose;
  1         3  
  1         5  
124 1     1   6611 use MooseX::StrictConstructor;
  1         10  
  1         6  
125             extends 'Cfn::Value::TypedValue';
126            
127             has Tags => (isa => 'ArrayOfCfn::Resource::Properties::TagType', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
128             }
129              
130             subtype 'Cfn::Resource::Properties::AWS::GameLift::GameServerGroup::LaunchTemplate',
131             as 'Cfn::Value';
132              
133             coerce 'Cfn::Resource::Properties::AWS::GameLift::GameServerGroup::LaunchTemplate',
134             from 'HashRef',
135             via {
136             if (my $f = Cfn::TypeLibrary::try_function($_)) {
137             return $f
138             } else {
139             return Cfn::Resource::Properties::Object::AWS::GameLift::GameServerGroup::LaunchTemplate->new( %$_ );
140             }
141             };
142              
143             package Cfn::Resource::Properties::Object::AWS::GameLift::GameServerGroup::LaunchTemplate {
144 1     1   3323 use Moose;
  1         4  
  1         5  
145 1     1   6566 use MooseX::StrictConstructor;
  1         3  
  1         6  
146             extends 'Cfn::Value::TypedValue';
147            
148             has LaunchTemplateId => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
149             has LaunchTemplateName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
150             has Version => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
151             }
152              
153             subtype 'Cfn::Resource::Properties::AWS::GameLift::GameServerGroup::InstanceDefinitions',
154             as 'Cfn::Value';
155              
156             coerce 'Cfn::Resource::Properties::AWS::GameLift::GameServerGroup::InstanceDefinitions',
157             from 'HashRef',
158             via {
159             if (my $f = Cfn::TypeLibrary::try_function($_)) {
160             return $f
161             } else {
162             return Cfn::Resource::Properties::Object::AWS::GameLift::GameServerGroup::InstanceDefinitions->new( %$_ );
163             }
164             };
165              
166             package Cfn::Resource::Properties::Object::AWS::GameLift::GameServerGroup::InstanceDefinitions {
167 1     1   3769 use Moose;
  1         4  
  1         5  
168 1     1   6588 use MooseX::StrictConstructor;
  1         2  
  1         6  
169             extends 'Cfn::Value::TypedValue';
170            
171             has InstanceDefinitions => (isa => 'ArrayOfCfn::Resource::Properties::AWS::GameLift::GameServerGroup::InstanceDefinition', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
172             }
173              
174             subtype 'Cfn::Resource::Properties::AWS::GameLift::GameServerGroup::AutoScalingPolicy',
175             as 'Cfn::Value';
176              
177             coerce 'Cfn::Resource::Properties::AWS::GameLift::GameServerGroup::AutoScalingPolicy',
178             from 'HashRef',
179             via {
180             if (my $f = Cfn::TypeLibrary::try_function($_)) {
181             return $f
182             } else {
183             return Cfn::Resource::Properties::Object::AWS::GameLift::GameServerGroup::AutoScalingPolicy->new( %$_ );
184             }
185             };
186              
187             package Cfn::Resource::Properties::Object::AWS::GameLift::GameServerGroup::AutoScalingPolicy {
188 1     1   3385 use Moose;
  1         5  
  1         7  
189 1     1   6630 use MooseX::StrictConstructor;
  1         3  
  1         5  
190             extends 'Cfn::Value::TypedValue';
191            
192             has EstimatedInstanceWarmup => (isa => 'Cfn::Value::Double', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
193             has TargetTrackingConfiguration => (isa => 'Cfn::Resource::Properties::AWS::GameLift::GameServerGroup::TargetTrackingConfiguration', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
194             }
195              
196             package Cfn::Resource::Properties::AWS::GameLift::GameServerGroup {
197 1     1   3268 use Moose;
  1         3  
  1         6  
198 1     1   6570 use MooseX::StrictConstructor;
  1         3  
  1         6  
199             extends 'Cfn::Resource::Properties';
200            
201             has AutoScalingPolicy => (isa => 'Cfn::Resource::Properties::AWS::GameLift::GameServerGroup::AutoScalingPolicy', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
202             has BalancingStrategy => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
203             has DeleteOption => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
204             has GameServerGroupName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
205             has GameServerProtectionPolicy => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
206             has InstanceDefinitions => (isa => 'Cfn::Resource::Properties::AWS::GameLift::GameServerGroup::InstanceDefinitions', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
207             has LaunchTemplate => (isa => 'Cfn::Resource::Properties::AWS::GameLift::GameServerGroup::LaunchTemplate', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
208             has MaxSize => (isa => 'Cfn::Value::Double', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
209             has MinSize => (isa => 'Cfn::Value::Double', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
210             has RoleArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
211             has Tags => (isa => 'Cfn::Resource::Properties::AWS::GameLift::GameServerGroup::Tags', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
212             has VpcSubnets => (isa => 'Cfn::Resource::Properties::AWS::GameLift::GameServerGroup::VpcSubnets', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
213             }
214              
215             1;
216             ### main pod documentation begin ###
217              
218             =encoding UTF-8
219              
220             =head1 NAME
221              
222             Cfn::Resource::AWS::GameLift::GameServerGroup - Cfn resource for AWS::GameLift::GameServerGroup
223              
224             =head1 DESCRIPTION
225              
226             This module implements a Perl module that represents the CloudFormation object AWS::GameLift::GameServerGroup.
227              
228             See L<Cfn> for more information on how to use it.
229              
230             =head1 AUTHOR
231              
232             Jose Luis Martinez
233             CAPSiDE
234             jlmartinez@capside.com
235              
236             =head1 COPYRIGHT and LICENSE
237              
238             Copyright (c) 2013 by CAPSiDE
239             This code is distributed under the Apache 2 License. The full text of the
240             license can be found in the LICENSE file included with this module.
241              
242             =cut