File Coverage

blib/lib/Cfn/Resource/AWS/EC2/SpotFleet.pm
Criterion Covered Total %
statement 134 134 100.0
branch n/a
condition n/a
subroutine 46 46 100.0
pod 0 2 0.0
total 180 182 98.9


line stmt bran cond sub pod time code
1             # AWS::EC2::SpotFleet generated from spec 5.3.0
2 2     2   1496 use Moose::Util::TypeConstraints;
  2         4  
  2         21  
3              
4             coerce 'Cfn::Resource::Properties::AWS::EC2::SpotFleet',
5             from 'HashRef',
6             via { Cfn::Resource::Properties::AWS::EC2::SpotFleet->new( %$_ ) };
7              
8             package Cfn::Resource::AWS::EC2::SpotFleet {
9 2     2   4403 use Moose;
  2         5  
  2         14  
10             extends 'Cfn::Resource';
11             has Properties => (isa => 'Cfn::Resource::Properties::AWS::EC2::SpotFleet', is => 'rw', coerce => 1);
12            
13             sub AttributeList {
14 1     1 0 4 [ ]
15             }
16             sub supported_regions {
17 1     1 0 1515 [ '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-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             subtype 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::TargetGroup',
23             as 'Cfn::Value',
24             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
25             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
26              
27             coerce 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::TargetGroup',
28             from 'HashRef',
29             via {
30             if (my $f = Cfn::TypeLibrary::try_function($_)) {
31             return $f
32             } else {
33             die 'Only accepts functions';
34             }
35             },
36             from 'ArrayRef',
37             via {
38             Cfn::Value::Array->new(Value => [
39             map {
40             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::EC2::SpotFleet::TargetGroup')->coerce($_)
41             } @$_
42             ]);
43             };
44              
45             subtype 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::TargetGroup',
46             as 'Cfn::Value';
47              
48             coerce 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::TargetGroup',
49             from 'HashRef',
50             via {
51             if (my $f = Cfn::TypeLibrary::try_function($_)) {
52             return $f
53             } else {
54             return Cfn::Resource::Properties::AWS::EC2::SpotFleet::TargetGroupValue->new( %$_ );
55             }
56             };
57              
58             package Cfn::Resource::Properties::AWS::EC2::SpotFleet::TargetGroupValue {
59 2     2   14950 use Moose;
  2         6  
  2         12  
60 2     2   13133 use MooseX::StrictConstructor;
  2         7  
  2         19  
61             extends 'Cfn::Value::TypedValue';
62            
63             has Arn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
64             }
65             subtype 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::PrivateIpAddressSpecification',
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::EC2::SpotFleet::PrivateIpAddressSpecification',
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::EC2::SpotFleet::PrivateIpAddressSpecification')->coerce($_)
84             } @$_
85             ]);
86             };
87              
88             subtype 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::PrivateIpAddressSpecification',
89             as 'Cfn::Value';
90              
91             coerce 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::PrivateIpAddressSpecification',
92             from 'HashRef',
93             via {
94             if (my $f = Cfn::TypeLibrary::try_function($_)) {
95             return $f
96             } else {
97             return Cfn::Resource::Properties::AWS::EC2::SpotFleet::PrivateIpAddressSpecificationValue->new( %$_ );
98             }
99             };
100              
101             package Cfn::Resource::Properties::AWS::EC2::SpotFleet::PrivateIpAddressSpecificationValue {
102 2     2   7740 use Moose;
  2         7  
  2         13  
103 2     2   13747 use MooseX::StrictConstructor;
  2         4  
  2         12  
104             extends 'Cfn::Value::TypedValue';
105            
106             has Primary => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
107             has PrivateIpAddress => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
108             }
109             subtype 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::InstanceIpv6Address',
110             as 'Cfn::Value',
111             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
112             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
113              
114             coerce 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::InstanceIpv6Address',
115             from 'HashRef',
116             via {
117             if (my $f = Cfn::TypeLibrary::try_function($_)) {
118             return $f
119             } else {
120             die 'Only accepts functions';
121             }
122             },
123             from 'ArrayRef',
124             via {
125             Cfn::Value::Array->new(Value => [
126             map {
127             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::EC2::SpotFleet::InstanceIpv6Address')->coerce($_)
128             } @$_
129             ]);
130             };
131              
132             subtype 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::InstanceIpv6Address',
133             as 'Cfn::Value';
134              
135             coerce 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::InstanceIpv6Address',
136             from 'HashRef',
137             via {
138             if (my $f = Cfn::TypeLibrary::try_function($_)) {
139             return $f
140             } else {
141             return Cfn::Resource::Properties::AWS::EC2::SpotFleet::InstanceIpv6AddressValue->new( %$_ );
142             }
143             };
144              
145             package Cfn::Resource::Properties::AWS::EC2::SpotFleet::InstanceIpv6AddressValue {
146 2     2   7335 use Moose;
  2         7  
  2         11  
147 2     2   13214 use MooseX::StrictConstructor;
  2         4  
  2         12  
148             extends 'Cfn::Value::TypedValue';
149            
150             has Ipv6Address => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
151             }
152              
153             subtype 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::EbsBlockDevice',
154             as 'Cfn::Value';
155              
156             coerce 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::EbsBlockDevice',
157             from 'HashRef',
158             via {
159             if (my $f = Cfn::TypeLibrary::try_function($_)) {
160             return $f
161             } else {
162             return Cfn::Resource::Properties::AWS::EC2::SpotFleet::EbsBlockDeviceValue->new( %$_ );
163             }
164             };
165              
166             package Cfn::Resource::Properties::AWS::EC2::SpotFleet::EbsBlockDeviceValue {
167 2     2   6857 use Moose;
  2         7  
  2         11  
168 2     2   13154 use MooseX::StrictConstructor;
  2         7  
  2         13  
169             extends 'Cfn::Value::TypedValue';
170            
171             has DeleteOnTermination => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
172             has Encrypted => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
173             has Iops => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
174             has SnapshotId => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
175             has VolumeSize => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
176             has VolumeType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
177             }
178             subtype 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::ClassicLoadBalancer',
179             as 'Cfn::Value',
180             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
181             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
182              
183             coerce 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::ClassicLoadBalancer',
184             from 'HashRef',
185             via {
186             if (my $f = Cfn::TypeLibrary::try_function($_)) {
187             return $f
188             } else {
189             die 'Only accepts functions';
190             }
191             },
192             from 'ArrayRef',
193             via {
194             Cfn::Value::Array->new(Value => [
195             map {
196             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::EC2::SpotFleet::ClassicLoadBalancer')->coerce($_)
197             } @$_
198             ]);
199             };
200              
201             subtype 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::ClassicLoadBalancer',
202             as 'Cfn::Value';
203              
204             coerce 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::ClassicLoadBalancer',
205             from 'HashRef',
206             via {
207             if (my $f = Cfn::TypeLibrary::try_function($_)) {
208             return $f
209             } else {
210             return Cfn::Resource::Properties::AWS::EC2::SpotFleet::ClassicLoadBalancerValue->new( %$_ );
211             }
212             };
213              
214             package Cfn::Resource::Properties::AWS::EC2::SpotFleet::ClassicLoadBalancerValue {
215 2     2   7241 use Moose;
  2         7  
  2         12  
216 2     2   13131 use MooseX::StrictConstructor;
  2         6  
  2         11  
217             extends 'Cfn::Value::TypedValue';
218            
219             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
220             }
221              
222             subtype 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::TargetGroupsConfig',
223             as 'Cfn::Value';
224              
225             coerce 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::TargetGroupsConfig',
226             from 'HashRef',
227             via {
228             if (my $f = Cfn::TypeLibrary::try_function($_)) {
229             return $f
230             } else {
231             return Cfn::Resource::Properties::AWS::EC2::SpotFleet::TargetGroupsConfigValue->new( %$_ );
232             }
233             };
234              
235             package Cfn::Resource::Properties::AWS::EC2::SpotFleet::TargetGroupsConfigValue {
236 2     2   6836 use Moose;
  2         17  
  2         15  
237 2     2   12999 use MooseX::StrictConstructor;
  2         5  
  2         11  
238             extends 'Cfn::Value::TypedValue';
239            
240             has TargetGroups => (isa => 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::TargetGroup', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
241             }
242              
243             subtype 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::SpotPlacement',
244             as 'Cfn::Value';
245              
246             coerce 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::SpotPlacement',
247             from 'HashRef',
248             via {
249             if (my $f = Cfn::TypeLibrary::try_function($_)) {
250             return $f
251             } else {
252             return Cfn::Resource::Properties::AWS::EC2::SpotFleet::SpotPlacementValue->new( %$_ );
253             }
254             };
255              
256             package Cfn::Resource::Properties::AWS::EC2::SpotFleet::SpotPlacementValue {
257 2     2   6719 use Moose;
  2         5  
  2         15  
258 2     2   12969 use MooseX::StrictConstructor;
  2         4  
  2         11  
259             extends 'Cfn::Value::TypedValue';
260            
261             has AvailabilityZone => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
262             has GroupName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
263             has Tenancy => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
264             }
265             subtype 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::SpotFleetTagSpecification',
266             as 'Cfn::Value',
267             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
268             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
269              
270             coerce 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::SpotFleetTagSpecification',
271             from 'HashRef',
272             via {
273             if (my $f = Cfn::TypeLibrary::try_function($_)) {
274             return $f
275             } else {
276             die 'Only accepts functions';
277             }
278             },
279             from 'ArrayRef',
280             via {
281             Cfn::Value::Array->new(Value => [
282             map {
283             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::EC2::SpotFleet::SpotFleetTagSpecification')->coerce($_)
284             } @$_
285             ]);
286             };
287              
288             subtype 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::SpotFleetTagSpecification',
289             as 'Cfn::Value';
290              
291             coerce 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::SpotFleetTagSpecification',
292             from 'HashRef',
293             via {
294             if (my $f = Cfn::TypeLibrary::try_function($_)) {
295             return $f
296             } else {
297             return Cfn::Resource::Properties::AWS::EC2::SpotFleet::SpotFleetTagSpecificationValue->new( %$_ );
298             }
299             };
300              
301             package Cfn::Resource::Properties::AWS::EC2::SpotFleet::SpotFleetTagSpecificationValue {
302 2     2   7186 use Moose;
  2         7  
  2         11  
303 2     2   13379 use MooseX::StrictConstructor;
  2         4  
  2         11  
304             extends 'Cfn::Value::TypedValue';
305            
306             has ResourceType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
307             has Tags => (isa => 'ArrayOfCfn::Resource::Properties::TagType', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
308             }
309              
310             subtype 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::SpotFleetMonitoring',
311             as 'Cfn::Value';
312              
313             coerce 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::SpotFleetMonitoring',
314             from 'HashRef',
315             via {
316             if (my $f = Cfn::TypeLibrary::try_function($_)) {
317             return $f
318             } else {
319             return Cfn::Resource::Properties::AWS::EC2::SpotFleet::SpotFleetMonitoringValue->new( %$_ );
320             }
321             };
322              
323             package Cfn::Resource::Properties::AWS::EC2::SpotFleet::SpotFleetMonitoringValue {
324 2     2   6638 use Moose;
  2         7  
  2         10  
325 2     2   13341 use MooseX::StrictConstructor;
  2         6  
  2         16  
326             extends 'Cfn::Value::TypedValue';
327            
328             has Enabled => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
329             }
330             subtype 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::LaunchTemplateOverrides',
331             as 'Cfn::Value',
332             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
333             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
334              
335             coerce 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::LaunchTemplateOverrides',
336             from 'HashRef',
337             via {
338             if (my $f = Cfn::TypeLibrary::try_function($_)) {
339             return $f
340             } else {
341             die 'Only accepts functions';
342             }
343             },
344             from 'ArrayRef',
345             via {
346             Cfn::Value::Array->new(Value => [
347             map {
348             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::EC2::SpotFleet::LaunchTemplateOverrides')->coerce($_)
349             } @$_
350             ]);
351             };
352              
353             subtype 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::LaunchTemplateOverrides',
354             as 'Cfn::Value';
355              
356             coerce 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::LaunchTemplateOverrides',
357             from 'HashRef',
358             via {
359             if (my $f = Cfn::TypeLibrary::try_function($_)) {
360             return $f
361             } else {
362             return Cfn::Resource::Properties::AWS::EC2::SpotFleet::LaunchTemplateOverridesValue->new( %$_ );
363             }
364             };
365              
366             package Cfn::Resource::Properties::AWS::EC2::SpotFleet::LaunchTemplateOverridesValue {
367 2     2   7118 use Moose;
  2         5  
  2         10  
368 2     2   13050 use MooseX::StrictConstructor;
  2         5  
  2         11  
369             extends 'Cfn::Value::TypedValue';
370            
371             has AvailabilityZone => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
372             has InstanceType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
373             has SpotPrice => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
374             has SubnetId => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
375             has WeightedCapacity => (isa => 'Cfn::Value::Double', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
376             }
377             subtype 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::InstanceNetworkInterfaceSpecification',
378             as 'Cfn::Value',
379             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
380             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
381              
382             coerce 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::InstanceNetworkInterfaceSpecification',
383             from 'HashRef',
384             via {
385             if (my $f = Cfn::TypeLibrary::try_function($_)) {
386             return $f
387             } else {
388             die 'Only accepts functions';
389             }
390             },
391             from 'ArrayRef',
392             via {
393             Cfn::Value::Array->new(Value => [
394             map {
395             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::EC2::SpotFleet::InstanceNetworkInterfaceSpecification')->coerce($_)
396             } @$_
397             ]);
398             };
399              
400             subtype 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::InstanceNetworkInterfaceSpecification',
401             as 'Cfn::Value';
402              
403             coerce 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::InstanceNetworkInterfaceSpecification',
404             from 'HashRef',
405             via {
406             if (my $f = Cfn::TypeLibrary::try_function($_)) {
407             return $f
408             } else {
409             return Cfn::Resource::Properties::AWS::EC2::SpotFleet::InstanceNetworkInterfaceSpecificationValue->new( %$_ );
410             }
411             };
412              
413             package Cfn::Resource::Properties::AWS::EC2::SpotFleet::InstanceNetworkInterfaceSpecificationValue {
414 2     2   7577 use Moose;
  2         14  
  2         13  
415 2     2   13179 use MooseX::StrictConstructor;
  2         5  
  2         13  
416             extends 'Cfn::Value::TypedValue';
417            
418             has AssociatePublicIpAddress => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
419             has DeleteOnTermination => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
420             has Description => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
421             has DeviceIndex => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
422             has Groups => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
423             has Ipv6AddressCount => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
424             has Ipv6Addresses => (isa => 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::InstanceIpv6Address', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
425             has NetworkInterfaceId => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
426             has PrivateIpAddresses => (isa => 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::PrivateIpAddressSpecification', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
427             has SecondaryPrivateIpAddressCount => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
428             has SubnetId => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
429             }
430              
431             subtype 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::IamInstanceProfileSpecification',
432             as 'Cfn::Value';
433              
434             coerce 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::IamInstanceProfileSpecification',
435             from 'HashRef',
436             via {
437             if (my $f = Cfn::TypeLibrary::try_function($_)) {
438             return $f
439             } else {
440             return Cfn::Resource::Properties::AWS::EC2::SpotFleet::IamInstanceProfileSpecificationValue->new( %$_ );
441             }
442             };
443              
444             package Cfn::Resource::Properties::AWS::EC2::SpotFleet::IamInstanceProfileSpecificationValue {
445 2     2   7180 use Moose;
  2         15  
  2         11  
446 2     2   13150 use MooseX::StrictConstructor;
  2         6  
  2         11  
447             extends 'Cfn::Value::TypedValue';
448            
449             has Arn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
450             }
451             subtype 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::GroupIdentifier',
452             as 'Cfn::Value',
453             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
454             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
455              
456             coerce 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::GroupIdentifier',
457             from 'HashRef',
458             via {
459             if (my $f = Cfn::TypeLibrary::try_function($_)) {
460             return $f
461             } else {
462             die 'Only accepts functions';
463             }
464             },
465             from 'ArrayRef',
466             via {
467             Cfn::Value::Array->new(Value => [
468             map {
469             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::EC2::SpotFleet::GroupIdentifier')->coerce($_)
470             } @$_
471             ]);
472             };
473              
474             subtype 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::GroupIdentifier',
475             as 'Cfn::Value';
476              
477             coerce 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::GroupIdentifier',
478             from 'HashRef',
479             via {
480             if (my $f = Cfn::TypeLibrary::try_function($_)) {
481             return $f
482             } else {
483             return Cfn::Resource::Properties::AWS::EC2::SpotFleet::GroupIdentifierValue->new( %$_ );
484             }
485             };
486              
487             package Cfn::Resource::Properties::AWS::EC2::SpotFleet::GroupIdentifierValue {
488 2     2   6993 use Moose;
  2         7  
  2         10  
489 2     2   13000 use MooseX::StrictConstructor;
  2         6  
  2         11  
490             extends 'Cfn::Value::TypedValue';
491            
492             has GroupId => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
493             }
494              
495             subtype 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::FleetLaunchTemplateSpecification',
496             as 'Cfn::Value';
497              
498             coerce 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::FleetLaunchTemplateSpecification',
499             from 'HashRef',
500             via {
501             if (my $f = Cfn::TypeLibrary::try_function($_)) {
502             return $f
503             } else {
504             return Cfn::Resource::Properties::AWS::EC2::SpotFleet::FleetLaunchTemplateSpecificationValue->new( %$_ );
505             }
506             };
507              
508             package Cfn::Resource::Properties::AWS::EC2::SpotFleet::FleetLaunchTemplateSpecificationValue {
509 2     2   6783 use Moose;
  2         7  
  2         13  
510 2     2   13040 use MooseX::StrictConstructor;
  2         6  
  2         11  
511             extends 'Cfn::Value::TypedValue';
512            
513             has LaunchTemplateId => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
514             has LaunchTemplateName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
515             has Version => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
516             }
517              
518             subtype 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::ClassicLoadBalancersConfig',
519             as 'Cfn::Value';
520              
521             coerce 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::ClassicLoadBalancersConfig',
522             from 'HashRef',
523             via {
524             if (my $f = Cfn::TypeLibrary::try_function($_)) {
525             return $f
526             } else {
527             return Cfn::Resource::Properties::AWS::EC2::SpotFleet::ClassicLoadBalancersConfigValue->new( %$_ );
528             }
529             };
530              
531             package Cfn::Resource::Properties::AWS::EC2::SpotFleet::ClassicLoadBalancersConfigValue {
532 2     2   6646 use Moose;
  2         5  
  2         12  
533 2     2   13105 use MooseX::StrictConstructor;
  2         5  
  2         10  
534             extends 'Cfn::Value::TypedValue';
535            
536             has ClassicLoadBalancers => (isa => 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::ClassicLoadBalancer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
537             }
538             subtype 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::BlockDeviceMapping',
539             as 'Cfn::Value',
540             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
541             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
542              
543             coerce 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::BlockDeviceMapping',
544             from 'HashRef',
545             via {
546             if (my $f = Cfn::TypeLibrary::try_function($_)) {
547             return $f
548             } else {
549             die 'Only accepts functions';
550             }
551             },
552             from 'ArrayRef',
553             via {
554             Cfn::Value::Array->new(Value => [
555             map {
556             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::EC2::SpotFleet::BlockDeviceMapping')->coerce($_)
557             } @$_
558             ]);
559             };
560              
561             subtype 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::BlockDeviceMapping',
562             as 'Cfn::Value';
563              
564             coerce 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::BlockDeviceMapping',
565             from 'HashRef',
566             via {
567             if (my $f = Cfn::TypeLibrary::try_function($_)) {
568             return $f
569             } else {
570             return Cfn::Resource::Properties::AWS::EC2::SpotFleet::BlockDeviceMappingValue->new( %$_ );
571             }
572             };
573              
574             package Cfn::Resource::Properties::AWS::EC2::SpotFleet::BlockDeviceMappingValue {
575 2     2   7143 use Moose;
  2         5  
  2         12  
576 2     2   13064 use MooseX::StrictConstructor;
  2         7  
  2         9  
577             extends 'Cfn::Value::TypedValue';
578            
579             has DeviceName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
580             has Ebs => (isa => 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::EbsBlockDevice', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
581             has NoDevice => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
582             has VirtualName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
583             }
584             subtype 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::SpotFleetLaunchSpecification',
585             as 'Cfn::Value',
586             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
587             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
588              
589             coerce 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::SpotFleetLaunchSpecification',
590             from 'HashRef',
591             via {
592             if (my $f = Cfn::TypeLibrary::try_function($_)) {
593             return $f
594             } else {
595             die 'Only accepts functions';
596             }
597             },
598             from 'ArrayRef',
599             via {
600             Cfn::Value::Array->new(Value => [
601             map {
602             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::EC2::SpotFleet::SpotFleetLaunchSpecification')->coerce($_)
603             } @$_
604             ]);
605             };
606              
607             subtype 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::SpotFleetLaunchSpecification',
608             as 'Cfn::Value';
609              
610             coerce 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::SpotFleetLaunchSpecification',
611             from 'HashRef',
612             via {
613             if (my $f = Cfn::TypeLibrary::try_function($_)) {
614             return $f
615             } else {
616             return Cfn::Resource::Properties::AWS::EC2::SpotFleet::SpotFleetLaunchSpecificationValue->new( %$_ );
617             }
618             };
619              
620             package Cfn::Resource::Properties::AWS::EC2::SpotFleet::SpotFleetLaunchSpecificationValue {
621 2     2   7174 use Moose;
  2         6  
  2         18  
622 2     2   13039 use MooseX::StrictConstructor;
  2         6  
  2         10  
623             extends 'Cfn::Value::TypedValue';
624            
625             has BlockDeviceMappings => (isa => 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::BlockDeviceMapping', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
626             has EbsOptimized => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
627             has IamInstanceProfile => (isa => 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::IamInstanceProfileSpecification', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
628             has ImageId => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
629             has InstanceType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
630             has KernelId => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
631             has KeyName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
632             has Monitoring => (isa => 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::SpotFleetMonitoring', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
633             has NetworkInterfaces => (isa => 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::InstanceNetworkInterfaceSpecification', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
634             has Placement => (isa => 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::SpotPlacement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
635             has RamdiskId => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
636             has SecurityGroups => (isa => 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::GroupIdentifier', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
637             has SpotPrice => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
638             has SubnetId => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
639             has TagSpecifications => (isa => 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::SpotFleetTagSpecification', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
640             has UserData => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
641             has WeightedCapacity => (isa => 'Cfn::Value::Double', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
642             }
643              
644             subtype 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::LoadBalancersConfig',
645             as 'Cfn::Value';
646              
647             coerce 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::LoadBalancersConfig',
648             from 'HashRef',
649             via {
650             if (my $f = Cfn::TypeLibrary::try_function($_)) {
651             return $f
652             } else {
653             return Cfn::Resource::Properties::AWS::EC2::SpotFleet::LoadBalancersConfigValue->new( %$_ );
654             }
655             };
656              
657             package Cfn::Resource::Properties::AWS::EC2::SpotFleet::LoadBalancersConfigValue {
658 2     2   7231 use Moose;
  2         6  
  2         12  
659 2     2   13054 use MooseX::StrictConstructor;
  2         7  
  2         11  
660             extends 'Cfn::Value::TypedValue';
661            
662             has ClassicLoadBalancersConfig => (isa => 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::ClassicLoadBalancersConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
663             has TargetGroupsConfig => (isa => 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::TargetGroupsConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
664             }
665             subtype 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::LaunchTemplateConfig',
666             as 'Cfn::Value',
667             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
668             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
669              
670             coerce 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::LaunchTemplateConfig',
671             from 'HashRef',
672             via {
673             if (my $f = Cfn::TypeLibrary::try_function($_)) {
674             return $f
675             } else {
676             die 'Only accepts functions';
677             }
678             },
679             from 'ArrayRef',
680             via {
681             Cfn::Value::Array->new(Value => [
682             map {
683             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::EC2::SpotFleet::LaunchTemplateConfig')->coerce($_)
684             } @$_
685             ]);
686             };
687              
688             subtype 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::LaunchTemplateConfig',
689             as 'Cfn::Value';
690              
691             coerce 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::LaunchTemplateConfig',
692             from 'HashRef',
693             via {
694             if (my $f = Cfn::TypeLibrary::try_function($_)) {
695             return $f
696             } else {
697             return Cfn::Resource::Properties::AWS::EC2::SpotFleet::LaunchTemplateConfigValue->new( %$_ );
698             }
699             };
700              
701             package Cfn::Resource::Properties::AWS::EC2::SpotFleet::LaunchTemplateConfigValue {
702 2     2   7101 use Moose;
  2         4  
  2         13  
703 2     2   12974 use MooseX::StrictConstructor;
  2         5  
  2         11  
704             extends 'Cfn::Value::TypedValue';
705            
706             has LaunchTemplateSpecification => (isa => 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::FleetLaunchTemplateSpecification', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
707             has Overrides => (isa => 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::LaunchTemplateOverrides', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
708             }
709              
710             subtype 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::SpotFleetRequestConfigData',
711             as 'Cfn::Value';
712              
713             coerce 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::SpotFleetRequestConfigData',
714             from 'HashRef',
715             via {
716             if (my $f = Cfn::TypeLibrary::try_function($_)) {
717             return $f
718             } else {
719             return Cfn::Resource::Properties::AWS::EC2::SpotFleet::SpotFleetRequestConfigDataValue->new( %$_ );
720             }
721             };
722              
723             package Cfn::Resource::Properties::AWS::EC2::SpotFleet::SpotFleetRequestConfigDataValue {
724 2     2   6732 use Moose;
  2         5  
  2         11  
725 2     2   13420 use MooseX::StrictConstructor;
  2         5  
  2         13  
726             extends 'Cfn::Value::TypedValue';
727            
728             has AllocationStrategy => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
729             has ExcessCapacityTerminationPolicy => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
730             has IamFleetRole => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
731             has InstanceInterruptionBehavior => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
732             has LaunchSpecifications => (isa => 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::SpotFleetLaunchSpecification', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
733             has LaunchTemplateConfigs => (isa => 'ArrayOfCfn::Resource::Properties::AWS::EC2::SpotFleet::LaunchTemplateConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
734             has LoadBalancersConfig => (isa => 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::LoadBalancersConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
735             has ReplaceUnhealthyInstances => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
736             has SpotPrice => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
737             has TargetCapacity => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
738             has TerminateInstancesWithExpiration => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
739             has Type => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
740             has ValidFrom => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
741             has ValidUntil => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
742             }
743              
744             package Cfn::Resource::Properties::AWS::EC2::SpotFleet {
745 2     2   6947 use Moose;
  2         6  
  2         20  
746 2     2   13024 use MooseX::StrictConstructor;
  2         7  
  2         11  
747             extends 'Cfn::Resource::Properties';
748            
749             has SpotFleetRequestConfigData => (isa => 'Cfn::Resource::Properties::AWS::EC2::SpotFleet::SpotFleetRequestConfigData', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Conditional');
750             }
751              
752             1;