File Coverage

blib/lib/Cfn/Resource/AWS/EMR/InstanceFleetConfig.pm
Criterion Covered Total %
statement 62 62 100.0
branch n/a
condition n/a
subroutine 22 22 100.0
pod 0 2 0.0
total 84 86 97.6


line stmt bran cond sub pod time code
1             # AWS::EMR::InstanceFleetConfig generated from spec 20.1.0
2 1     1   811 use Moose::Util::TypeConstraints;
  1         5  
  1         12  
3              
4             coerce 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig',
5             from 'HashRef',
6             via { Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig->new( %$_ ) };
7              
8             package Cfn::Resource::AWS::EMR::InstanceFleetConfig {
9 1     1   2297 use Moose;
  1         4  
  1         8  
10             extends 'Cfn::Resource';
11             has Properties => (isa => 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig', is => 'rw', coerce => 1);
12            
13             sub AttributeList {
14 1     1 0 5 [ ]
15             }
16             sub supported_regions {
17 1     1 0 1217 [ 'af-south-1','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-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::EMR::InstanceFleetConfig::VolumeSpecification',
24             as 'Cfn::Value';
25              
26             coerce 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::VolumeSpecification',
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::EMR::InstanceFleetConfig::VolumeSpecification->new( %$_ );
33             }
34             };
35              
36             package Cfn::Resource::Properties::Object::AWS::EMR::InstanceFleetConfig::VolumeSpecification {
37 1     1   7359 use Moose;
  1         2  
  1         7  
38 1     1   7036 use MooseX::StrictConstructor;
  1         3  
  1         11  
39             extends 'Cfn::Value::TypedValue';
40            
41             has Iops => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
42             has SizeInGB => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
43             has VolumeType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
44             }
45             subtype 'ArrayOfCfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::EbsBlockDeviceConfig',
46             as 'Cfn::Value',
47             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
48             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
49              
50             coerce 'ArrayOfCfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::EbsBlockDeviceConfig',
51             from 'HashRef',
52             via {
53             if (my $f = Cfn::TypeLibrary::try_function($_)) {
54             return $f
55             } else {
56             die 'Only accepts functions';
57             }
58             },
59             from 'ArrayRef',
60             via {
61             Cfn::Value::Array->new(Value => [
62             map {
63             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::EbsBlockDeviceConfig')->coerce($_)
64             } @$_
65             ]);
66             };
67              
68             subtype 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::EbsBlockDeviceConfig',
69             as 'Cfn::Value';
70              
71             coerce 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::EbsBlockDeviceConfig',
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::EMR::InstanceFleetConfig::EbsBlockDeviceConfig->new( %$_ );
78             }
79             };
80              
81             package Cfn::Resource::Properties::Object::AWS::EMR::InstanceFleetConfig::EbsBlockDeviceConfig {
82 1     1   3890 use Moose;
  1         4  
  1         6  
83 1     1   6700 use MooseX::StrictConstructor;
  1         4  
  1         4  
84             extends 'Cfn::Value::TypedValue';
85            
86             has VolumeSpecification => (isa => 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::VolumeSpecification', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
87             has VolumesPerInstance => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
88             }
89              
90             subtype 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::SpotProvisioningSpecification',
91             as 'Cfn::Value';
92              
93             coerce 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::SpotProvisioningSpecification',
94             from 'HashRef',
95             via {
96             if (my $f = Cfn::TypeLibrary::try_function($_)) {
97             return $f
98             } else {
99             return Cfn::Resource::Properties::Object::AWS::EMR::InstanceFleetConfig::SpotProvisioningSpecification->new( %$_ );
100             }
101             };
102              
103             package Cfn::Resource::Properties::Object::AWS::EMR::InstanceFleetConfig::SpotProvisioningSpecification {
104 1     1   3430 use Moose;
  1         12  
  1         9  
105 1     1   6779 use MooseX::StrictConstructor;
  1         2  
  1         7  
106             extends 'Cfn::Value::TypedValue';
107            
108             has AllocationStrategy => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
109             has BlockDurationMinutes => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
110             has TimeoutAction => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
111             has TimeoutDurationMinutes => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
112             }
113              
114             subtype 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::OnDemandProvisioningSpecification',
115             as 'Cfn::Value';
116              
117             coerce 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::OnDemandProvisioningSpecification',
118             from 'HashRef',
119             via {
120             if (my $f = Cfn::TypeLibrary::try_function($_)) {
121             return $f
122             } else {
123             return Cfn::Resource::Properties::Object::AWS::EMR::InstanceFleetConfig::OnDemandProvisioningSpecification->new( %$_ );
124             }
125             };
126              
127             package Cfn::Resource::Properties::Object::AWS::EMR::InstanceFleetConfig::OnDemandProvisioningSpecification {
128 1     1   3469 use Moose;
  1         3  
  1         6  
129 1     1   6707 use MooseX::StrictConstructor;
  1         2  
  1         6  
130             extends 'Cfn::Value::TypedValue';
131            
132             has AllocationStrategy => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
133             }
134              
135             subtype 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::EbsConfiguration',
136             as 'Cfn::Value';
137              
138             coerce 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::EbsConfiguration',
139             from 'HashRef',
140             via {
141             if (my $f = Cfn::TypeLibrary::try_function($_)) {
142             return $f
143             } else {
144             return Cfn::Resource::Properties::Object::AWS::EMR::InstanceFleetConfig::EbsConfiguration->new( %$_ );
145             }
146             };
147              
148             package Cfn::Resource::Properties::Object::AWS::EMR::InstanceFleetConfig::EbsConfiguration {
149 1     1   3447 use Moose;
  1         3  
  1         5  
150 1     1   6771 use MooseX::StrictConstructor;
  1         3  
  1         7  
151             extends 'Cfn::Value::TypedValue';
152            
153             has EbsBlockDeviceConfigs => (isa => 'ArrayOfCfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::EbsBlockDeviceConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
154             has EbsOptimized => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
155             }
156             subtype 'ArrayOfCfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::Configuration',
157             as 'Cfn::Value',
158             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
159             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
160              
161             coerce 'ArrayOfCfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::Configuration',
162             from 'HashRef',
163             via {
164             if (my $f = Cfn::TypeLibrary::try_function($_)) {
165             return $f
166             } else {
167             die 'Only accepts functions';
168             }
169             },
170             from 'ArrayRef',
171             via {
172             Cfn::Value::Array->new(Value => [
173             map {
174             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::Configuration')->coerce($_)
175             } @$_
176             ]);
177             };
178              
179             subtype 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::Configuration',
180             as 'Cfn::Value';
181              
182             coerce 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::Configuration',
183             from 'HashRef',
184             via {
185             if (my $f = Cfn::TypeLibrary::try_function($_)) {
186             return $f
187             } else {
188             return Cfn::Resource::Properties::Object::AWS::EMR::InstanceFleetConfig::Configuration->new( %$_ );
189             }
190             };
191              
192             package Cfn::Resource::Properties::Object::AWS::EMR::InstanceFleetConfig::Configuration {
193 1     1   3646 use Moose;
  1         3  
  1         6  
194 1     1   6670 use MooseX::StrictConstructor;
  1         3  
  1         6  
195             extends 'Cfn::Value::TypedValue';
196            
197             has Classification => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
198             has ConfigurationProperties => (isa => 'Cfn::Value::Hash|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
199             has Configurations => (isa => 'ArrayOfCfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::Configuration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
200             }
201             subtype 'ArrayOfCfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::InstanceTypeConfig',
202             as 'Cfn::Value',
203             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
204             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
205              
206             coerce 'ArrayOfCfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::InstanceTypeConfig',
207             from 'HashRef',
208             via {
209             if (my $f = Cfn::TypeLibrary::try_function($_)) {
210             return $f
211             } else {
212             die 'Only accepts functions';
213             }
214             },
215             from 'ArrayRef',
216             via {
217             Cfn::Value::Array->new(Value => [
218             map {
219             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::InstanceTypeConfig')->coerce($_)
220             } @$_
221             ]);
222             };
223              
224             subtype 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::InstanceTypeConfig',
225             as 'Cfn::Value';
226              
227             coerce 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::InstanceTypeConfig',
228             from 'HashRef',
229             via {
230             if (my $f = Cfn::TypeLibrary::try_function($_)) {
231             return $f
232             } else {
233             return Cfn::Resource::Properties::Object::AWS::EMR::InstanceFleetConfig::InstanceTypeConfig->new( %$_ );
234             }
235             };
236              
237             package Cfn::Resource::Properties::Object::AWS::EMR::InstanceFleetConfig::InstanceTypeConfig {
238 1     1   3685 use Moose;
  1         3  
  1         8  
239 1     1   6686 use MooseX::StrictConstructor;
  1         3  
  1         6  
240             extends 'Cfn::Value::TypedValue';
241            
242             has BidPrice => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
243             has BidPriceAsPercentageOfOnDemandPrice => (isa => 'Cfn::Value::Double', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
244             has Configurations => (isa => 'ArrayOfCfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::Configuration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
245             has EbsConfiguration => (isa => 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::EbsConfiguration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
246             has InstanceType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
247             has WeightedCapacity => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
248             }
249              
250             subtype 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::InstanceFleetProvisioningSpecifications',
251             as 'Cfn::Value';
252              
253             coerce 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::InstanceFleetProvisioningSpecifications',
254             from 'HashRef',
255             via {
256             if (my $f = Cfn::TypeLibrary::try_function($_)) {
257             return $f
258             } else {
259             return Cfn::Resource::Properties::Object::AWS::EMR::InstanceFleetConfig::InstanceFleetProvisioningSpecifications->new( %$_ );
260             }
261             };
262              
263             package Cfn::Resource::Properties::Object::AWS::EMR::InstanceFleetConfig::InstanceFleetProvisioningSpecifications {
264 1     1   3492 use Moose;
  1         3  
  1         5  
265 1     1   6687 use MooseX::StrictConstructor;
  1         4  
  1         6  
266             extends 'Cfn::Value::TypedValue';
267            
268             has OnDemandSpecification => (isa => 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::OnDemandProvisioningSpecification', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
269             has SpotSpecification => (isa => 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::SpotProvisioningSpecification', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
270             }
271              
272             package Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig {
273 1     1   3420 use Moose;
  1         4  
  1         5  
274 1     1   6747 use MooseX::StrictConstructor;
  1         3  
  1         7  
275             extends 'Cfn::Resource::Properties';
276            
277             has ClusterId => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
278             has InstanceFleetType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
279             has InstanceTypeConfigs => (isa => 'ArrayOfCfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::InstanceTypeConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
280             has LaunchSpecifications => (isa => 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::InstanceFleetProvisioningSpecifications', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
281             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
282             has TargetOnDemandCapacity => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
283             has TargetSpotCapacity => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
284             }
285              
286             1;
287             ### main pod documentation begin ###
288              
289             =encoding UTF-8
290              
291             =head1 NAME
292              
293             Cfn::Resource::AWS::EMR::InstanceFleetConfig - Cfn resource for AWS::EMR::InstanceFleetConfig
294              
295             =head1 DESCRIPTION
296              
297             This module implements a Perl module that represents the CloudFormation object AWS::EMR::InstanceFleetConfig.
298              
299             See L<Cfn> for more information on how to use it.
300              
301             =head1 AUTHOR
302              
303             Jose Luis Martinez
304             CAPSiDE
305             jlmartinez@capside.com
306              
307             =head1 COPYRIGHT and LICENSE
308              
309             Copyright (c) 2013 by CAPSiDE
310             This code is distributed under the Apache 2 License. The full text of the
311             license can be found in the LICENSE file included with this module.
312              
313             =cut