File Coverage

blib/lib/Cfn/Resource/AWS/EMR/InstanceFleetConfig.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::EMR::InstanceFleetConfig generated from spec 5.3.0
2 1     1   819 use Moose::Util::TypeConstraints;
  1         6  
  1         11  
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   2262 use Moose;
  1         5  
  1         10  
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 1139 [ '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              
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::AWS::EMR::InstanceFleetConfig::VolumeSpecificationValue->new( %$_ );
33             }
34             };
35              
36             package Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::VolumeSpecificationValue {
37 1     1   7324 use Moose;
  1         3  
  1         5  
38 1     1   6522 use MooseX::StrictConstructor;
  1         3  
  1         10  
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::AWS::EMR::InstanceFleetConfig::EbsBlockDeviceConfigValue->new( %$_ );
78             }
79             };
80              
81             package Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::EbsBlockDeviceConfigValue {
82 1     1   3932 use Moose;
  1         5  
  1         5  
83 1     1   6787 use MooseX::StrictConstructor;
  1         3  
  1         5  
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::AWS::EMR::InstanceFleetConfig::SpotProvisioningSpecificationValue->new( %$_ );
100             }
101             };
102              
103             package Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::SpotProvisioningSpecificationValue {
104 1     1   3294 use Moose;
  1         2  
  1         5  
105 1     1   6526 use MooseX::StrictConstructor;
  1         2  
  1         5  
106             extends 'Cfn::Value::TypedValue';
107            
108             has BlockDurationMinutes => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
109             has TimeoutAction => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
110             has TimeoutDurationMinutes => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
111             }
112              
113             subtype 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::EbsConfiguration',
114             as 'Cfn::Value';
115              
116             coerce 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::EbsConfiguration',
117             from 'HashRef',
118             via {
119             if (my $f = Cfn::TypeLibrary::try_function($_)) {
120             return $f
121             } else {
122             return Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::EbsConfigurationValue->new( %$_ );
123             }
124             };
125              
126             package Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::EbsConfigurationValue {
127 1     1   3344 use Moose;
  1         5  
  1         6  
128 1     1   6471 use MooseX::StrictConstructor;
  1         4  
  1         4  
129             extends 'Cfn::Value::TypedValue';
130            
131             has EbsBlockDeviceConfigs => (isa => 'ArrayOfCfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::EbsBlockDeviceConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
132             has EbsOptimized => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
133             }
134             subtype 'ArrayOfCfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::Configuration',
135             as 'Cfn::Value',
136             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
137             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
138              
139             coerce 'ArrayOfCfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::Configuration',
140             from 'HashRef',
141             via {
142             if (my $f = Cfn::TypeLibrary::try_function($_)) {
143             return $f
144             } else {
145             die 'Only accepts functions';
146             }
147             },
148             from 'ArrayRef',
149             via {
150             Cfn::Value::Array->new(Value => [
151             map {
152             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::Configuration')->coerce($_)
153             } @$_
154             ]);
155             };
156              
157             subtype 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::Configuration',
158             as 'Cfn::Value';
159              
160             coerce 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::Configuration',
161             from 'HashRef',
162             via {
163             if (my $f = Cfn::TypeLibrary::try_function($_)) {
164             return $f
165             } else {
166             return Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::ConfigurationValue->new( %$_ );
167             }
168             };
169              
170             package Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::ConfigurationValue {
171 1     1   3528 use Moose;
  1         3  
  1         8  
172 1     1   6537 use MooseX::StrictConstructor;
  1         3  
  1         8  
173             extends 'Cfn::Value::TypedValue';
174            
175             has Classification => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
176             has ConfigurationProperties => (isa => 'Cfn::Value::Hash|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
177             has Configurations => (isa => 'ArrayOfCfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::Configuration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
178             }
179             subtype 'ArrayOfCfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::InstanceTypeConfig',
180             as 'Cfn::Value',
181             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
182             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
183              
184             coerce 'ArrayOfCfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::InstanceTypeConfig',
185             from 'HashRef',
186             via {
187             if (my $f = Cfn::TypeLibrary::try_function($_)) {
188             return $f
189             } else {
190             die 'Only accepts functions';
191             }
192             },
193             from 'ArrayRef',
194             via {
195             Cfn::Value::Array->new(Value => [
196             map {
197             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::InstanceTypeConfig')->coerce($_)
198             } @$_
199             ]);
200             };
201              
202             subtype 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::InstanceTypeConfig',
203             as 'Cfn::Value';
204              
205             coerce 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::InstanceTypeConfig',
206             from 'HashRef',
207             via {
208             if (my $f = Cfn::TypeLibrary::try_function($_)) {
209             return $f
210             } else {
211             return Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::InstanceTypeConfigValue->new( %$_ );
212             }
213             };
214              
215             package Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::InstanceTypeConfigValue {
216 1     1   3607 use Moose;
  1         4  
  1         6  
217 1     1   6522 use MooseX::StrictConstructor;
  1         5  
  1         5  
218             extends 'Cfn::Value::TypedValue';
219            
220             has BidPrice => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
221             has BidPriceAsPercentageOfOnDemandPrice => (isa => 'Cfn::Value::Double', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
222             has Configurations => (isa => 'ArrayOfCfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::Configuration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
223             has EbsConfiguration => (isa => 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::EbsConfiguration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
224             has InstanceType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
225             has WeightedCapacity => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
226             }
227              
228             subtype 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::InstanceFleetProvisioningSpecifications',
229             as 'Cfn::Value';
230              
231             coerce 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::InstanceFleetProvisioningSpecifications',
232             from 'HashRef',
233             via {
234             if (my $f = Cfn::TypeLibrary::try_function($_)) {
235             return $f
236             } else {
237             return Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::InstanceFleetProvisioningSpecificationsValue->new( %$_ );
238             }
239             };
240              
241             package Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::InstanceFleetProvisioningSpecificationsValue {
242 1     1   3447 use Moose;
  1         3  
  1         6  
243 1     1   6545 use MooseX::StrictConstructor;
  1         4  
  1         7  
244             extends 'Cfn::Value::TypedValue';
245            
246             has SpotSpecification => (isa => 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::SpotProvisioningSpecification', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
247             }
248              
249             package Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig {
250 1     1   3227 use Moose;
  1         5  
  1         5  
251 1     1   6433 use MooseX::StrictConstructor;
  1         3  
  1         6  
252             extends 'Cfn::Resource::Properties';
253            
254             has ClusterId => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
255             has InstanceFleetType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
256             has InstanceTypeConfigs => (isa => 'ArrayOfCfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::InstanceTypeConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
257             has LaunchSpecifications => (isa => 'Cfn::Resource::Properties::AWS::EMR::InstanceFleetConfig::InstanceFleetProvisioningSpecifications', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
258             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
259             has TargetOnDemandCapacity => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
260             has TargetSpotCapacity => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
261             }
262              
263             1;