line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package Paws::EMR; |
2
|
1
|
|
|
1
|
|
4002
|
use Moose; |
|
1
|
|
|
1
|
|
2
|
|
|
1
|
|
|
|
|
7
|
|
|
1
|
|
|
|
|
2262
|
|
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
9
|
|
3
|
11
|
|
|
11
|
0
|
36
|
sub service { 'elasticmapreduce' } |
4
|
0
|
|
|
0
|
0
|
|
sub version { '2009-03-31' } |
5
|
0
|
|
|
0
|
0
|
|
sub target_prefix { 'ElasticMapReduce' } |
6
|
0
|
|
|
0
|
0
|
|
sub json_version { "1.1" } |
7
|
|
|
|
|
|
|
has max_attempts => (is => 'ro', isa => 'Int', default => 5); |
8
|
|
|
|
|
|
|
has retry => (is => 'ro', isa => 'HashRef', default => sub { |
9
|
|
|
|
|
|
|
{ base => 'rand', type => 'exponential', growth_factor => 2 } |
10
|
|
|
|
|
|
|
}); |
11
|
|
|
|
|
|
|
has retriables => (is => 'ro', isa => 'ArrayRef', default => sub { [ |
12
|
|
|
|
|
|
|
] }); |
13
|
|
|
|
|
|
|
|
14
|
|
|
|
|
|
|
with 'Paws::API::Caller', 'Paws::API::EndpointResolver', 'Paws::Net::V4Signature', 'Paws::Net::JsonCaller', 'Paws::Net::JsonResponse'; |
15
|
|
|
|
|
|
|
|
16
|
|
|
|
|
|
|
has '+region_rules' => (default => sub { |
17
|
|
|
|
|
|
|
my $regioninfo; |
18
|
|
|
|
|
|
|
$regioninfo = [ |
19
|
|
|
|
|
|
|
{ |
20
|
|
|
|
|
|
|
constraints => [ |
21
|
|
|
|
|
|
|
[ |
22
|
|
|
|
|
|
|
'region', |
23
|
|
|
|
|
|
|
'startsWith', |
24
|
|
|
|
|
|
|
'cn-' |
25
|
|
|
|
|
|
|
] |
26
|
|
|
|
|
|
|
], |
27
|
|
|
|
|
|
|
uri => 'https://elasticmapreduce.{region}.amazonaws.com.cn' |
28
|
|
|
|
|
|
|
}, |
29
|
|
|
|
|
|
|
{ |
30
|
|
|
|
|
|
|
constraints => [ |
31
|
|
|
|
|
|
|
[ |
32
|
|
|
|
|
|
|
'region', |
33
|
|
|
|
|
|
|
'equals', |
34
|
|
|
|
|
|
|
'eu-central-1' |
35
|
|
|
|
|
|
|
] |
36
|
|
|
|
|
|
|
], |
37
|
|
|
|
|
|
|
uri => 'https://elasticmapreduce.eu-central-1.amazonaws.com' |
38
|
|
|
|
|
|
|
}, |
39
|
|
|
|
|
|
|
{ |
40
|
|
|
|
|
|
|
constraints => [ |
41
|
|
|
|
|
|
|
[ |
42
|
|
|
|
|
|
|
'region', |
43
|
|
|
|
|
|
|
'equals', |
44
|
|
|
|
|
|
|
'us-east-1' |
45
|
|
|
|
|
|
|
] |
46
|
|
|
|
|
|
|
], |
47
|
|
|
|
|
|
|
uri => 'https://elasticmapreduce.us-east-1.amazonaws.com' |
48
|
|
|
|
|
|
|
}, |
49
|
|
|
|
|
|
|
{ |
50
|
|
|
|
|
|
|
constraints => [ |
51
|
|
|
|
|
|
|
[ |
52
|
|
|
|
|
|
|
'region', |
53
|
|
|
|
|
|
|
'notEquals', |
54
|
|
|
|
|
|
|
undef |
55
|
|
|
|
|
|
|
] |
56
|
|
|
|
|
|
|
], |
57
|
|
|
|
|
|
|
uri => 'https://{region}.elasticmapreduce.amazonaws.com' |
58
|
|
|
|
|
|
|
} |
59
|
|
|
|
|
|
|
]; |
60
|
|
|
|
|
|
|
|
61
|
|
|
|
|
|
|
return $regioninfo; |
62
|
|
|
|
|
|
|
}); |
63
|
|
|
|
|
|
|
|
64
|
|
|
|
|
|
|
|
65
|
|
|
|
|
|
|
sub AddInstanceFleet { |
66
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
67
|
0
|
|
|
|
|
|
my $call_object = $self->new_with_coercions('Paws::EMR::AddInstanceFleet', @_); |
68
|
0
|
|
|
|
|
|
return $self->caller->do_call($self, $call_object); |
69
|
|
|
|
|
|
|
} |
70
|
|
|
|
|
|
|
sub AddInstanceGroups { |
71
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
72
|
0
|
|
|
|
|
|
my $call_object = $self->new_with_coercions('Paws::EMR::AddInstanceGroups', @_); |
73
|
0
|
|
|
|
|
|
return $self->caller->do_call($self, $call_object); |
74
|
|
|
|
|
|
|
} |
75
|
|
|
|
|
|
|
sub AddJobFlowSteps { |
76
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
77
|
0
|
|
|
|
|
|
my $call_object = $self->new_with_coercions('Paws::EMR::AddJobFlowSteps', @_); |
78
|
0
|
|
|
|
|
|
return $self->caller->do_call($self, $call_object); |
79
|
|
|
|
|
|
|
} |
80
|
|
|
|
|
|
|
sub AddTags { |
81
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
82
|
0
|
|
|
|
|
|
my $call_object = $self->new_with_coercions('Paws::EMR::AddTags', @_); |
83
|
0
|
|
|
|
|
|
return $self->caller->do_call($self, $call_object); |
84
|
|
|
|
|
|
|
} |
85
|
|
|
|
|
|
|
sub CancelSteps { |
86
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
87
|
0
|
|
|
|
|
|
my $call_object = $self->new_with_coercions('Paws::EMR::CancelSteps', @_); |
88
|
0
|
|
|
|
|
|
return $self->caller->do_call($self, $call_object); |
89
|
|
|
|
|
|
|
} |
90
|
|
|
|
|
|
|
sub CreateSecurityConfiguration { |
91
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
92
|
0
|
|
|
|
|
|
my $call_object = $self->new_with_coercions('Paws::EMR::CreateSecurityConfiguration', @_); |
93
|
0
|
|
|
|
|
|
return $self->caller->do_call($self, $call_object); |
94
|
|
|
|
|
|
|
} |
95
|
|
|
|
|
|
|
sub DeleteSecurityConfiguration { |
96
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
97
|
0
|
|
|
|
|
|
my $call_object = $self->new_with_coercions('Paws::EMR::DeleteSecurityConfiguration', @_); |
98
|
0
|
|
|
|
|
|
return $self->caller->do_call($self, $call_object); |
99
|
|
|
|
|
|
|
} |
100
|
|
|
|
|
|
|
sub DescribeCluster { |
101
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
102
|
0
|
|
|
|
|
|
my $call_object = $self->new_with_coercions('Paws::EMR::DescribeCluster', @_); |
103
|
0
|
|
|
|
|
|
return $self->caller->do_call($self, $call_object); |
104
|
|
|
|
|
|
|
} |
105
|
|
|
|
|
|
|
sub DescribeJobFlows { |
106
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
107
|
0
|
|
|
|
|
|
my $call_object = $self->new_with_coercions('Paws::EMR::DescribeJobFlows', @_); |
108
|
0
|
|
|
|
|
|
return $self->caller->do_call($self, $call_object); |
109
|
|
|
|
|
|
|
} |
110
|
|
|
|
|
|
|
sub DescribeSecurityConfiguration { |
111
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
112
|
0
|
|
|
|
|
|
my $call_object = $self->new_with_coercions('Paws::EMR::DescribeSecurityConfiguration', @_); |
113
|
0
|
|
|
|
|
|
return $self->caller->do_call($self, $call_object); |
114
|
|
|
|
|
|
|
} |
115
|
|
|
|
|
|
|
sub DescribeStep { |
116
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
117
|
0
|
|
|
|
|
|
my $call_object = $self->new_with_coercions('Paws::EMR::DescribeStep', @_); |
118
|
0
|
|
|
|
|
|
return $self->caller->do_call($self, $call_object); |
119
|
|
|
|
|
|
|
} |
120
|
|
|
|
|
|
|
sub ListBootstrapActions { |
121
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
122
|
0
|
|
|
|
|
|
my $call_object = $self->new_with_coercions('Paws::EMR::ListBootstrapActions', @_); |
123
|
0
|
|
|
|
|
|
return $self->caller->do_call($self, $call_object); |
124
|
|
|
|
|
|
|
} |
125
|
|
|
|
|
|
|
sub ListClusters { |
126
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
127
|
0
|
|
|
|
|
|
my $call_object = $self->new_with_coercions('Paws::EMR::ListClusters', @_); |
128
|
0
|
|
|
|
|
|
return $self->caller->do_call($self, $call_object); |
129
|
|
|
|
|
|
|
} |
130
|
|
|
|
|
|
|
sub ListInstanceFleets { |
131
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
132
|
0
|
|
|
|
|
|
my $call_object = $self->new_with_coercions('Paws::EMR::ListInstanceFleets', @_); |
133
|
0
|
|
|
|
|
|
return $self->caller->do_call($self, $call_object); |
134
|
|
|
|
|
|
|
} |
135
|
|
|
|
|
|
|
sub ListInstanceGroups { |
136
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
137
|
0
|
|
|
|
|
|
my $call_object = $self->new_with_coercions('Paws::EMR::ListInstanceGroups', @_); |
138
|
0
|
|
|
|
|
|
return $self->caller->do_call($self, $call_object); |
139
|
|
|
|
|
|
|
} |
140
|
|
|
|
|
|
|
sub ListInstances { |
141
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
142
|
0
|
|
|
|
|
|
my $call_object = $self->new_with_coercions('Paws::EMR::ListInstances', @_); |
143
|
0
|
|
|
|
|
|
return $self->caller->do_call($self, $call_object); |
144
|
|
|
|
|
|
|
} |
145
|
|
|
|
|
|
|
sub ListSecurityConfigurations { |
146
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
147
|
0
|
|
|
|
|
|
my $call_object = $self->new_with_coercions('Paws::EMR::ListSecurityConfigurations', @_); |
148
|
0
|
|
|
|
|
|
return $self->caller->do_call($self, $call_object); |
149
|
|
|
|
|
|
|
} |
150
|
|
|
|
|
|
|
sub ListSteps { |
151
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
152
|
0
|
|
|
|
|
|
my $call_object = $self->new_with_coercions('Paws::EMR::ListSteps', @_); |
153
|
0
|
|
|
|
|
|
return $self->caller->do_call($self, $call_object); |
154
|
|
|
|
|
|
|
} |
155
|
|
|
|
|
|
|
sub ModifyInstanceFleet { |
156
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
157
|
0
|
|
|
|
|
|
my $call_object = $self->new_with_coercions('Paws::EMR::ModifyInstanceFleet', @_); |
158
|
0
|
|
|
|
|
|
return $self->caller->do_call($self, $call_object); |
159
|
|
|
|
|
|
|
} |
160
|
|
|
|
|
|
|
sub ModifyInstanceGroups { |
161
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
162
|
0
|
|
|
|
|
|
my $call_object = $self->new_with_coercions('Paws::EMR::ModifyInstanceGroups', @_); |
163
|
0
|
|
|
|
|
|
return $self->caller->do_call($self, $call_object); |
164
|
|
|
|
|
|
|
} |
165
|
|
|
|
|
|
|
sub PutAutoScalingPolicy { |
166
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
167
|
0
|
|
|
|
|
|
my $call_object = $self->new_with_coercions('Paws::EMR::PutAutoScalingPolicy', @_); |
168
|
0
|
|
|
|
|
|
return $self->caller->do_call($self, $call_object); |
169
|
|
|
|
|
|
|
} |
170
|
|
|
|
|
|
|
sub RemoveAutoScalingPolicy { |
171
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
172
|
0
|
|
|
|
|
|
my $call_object = $self->new_with_coercions('Paws::EMR::RemoveAutoScalingPolicy', @_); |
173
|
0
|
|
|
|
|
|
return $self->caller->do_call($self, $call_object); |
174
|
|
|
|
|
|
|
} |
175
|
|
|
|
|
|
|
sub RemoveTags { |
176
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
177
|
0
|
|
|
|
|
|
my $call_object = $self->new_with_coercions('Paws::EMR::RemoveTags', @_); |
178
|
0
|
|
|
|
|
|
return $self->caller->do_call($self, $call_object); |
179
|
|
|
|
|
|
|
} |
180
|
|
|
|
|
|
|
sub RunJobFlow { |
181
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
182
|
0
|
|
|
|
|
|
my $call_object = $self->new_with_coercions('Paws::EMR::RunJobFlow', @_); |
183
|
0
|
|
|
|
|
|
return $self->caller->do_call($self, $call_object); |
184
|
|
|
|
|
|
|
} |
185
|
|
|
|
|
|
|
sub SetTerminationProtection { |
186
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
187
|
0
|
|
|
|
|
|
my $call_object = $self->new_with_coercions('Paws::EMR::SetTerminationProtection', @_); |
188
|
0
|
|
|
|
|
|
return $self->caller->do_call($self, $call_object); |
189
|
|
|
|
|
|
|
} |
190
|
|
|
|
|
|
|
sub SetVisibleToAllUsers { |
191
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
192
|
0
|
|
|
|
|
|
my $call_object = $self->new_with_coercions('Paws::EMR::SetVisibleToAllUsers', @_); |
193
|
0
|
|
|
|
|
|
return $self->caller->do_call($self, $call_object); |
194
|
|
|
|
|
|
|
} |
195
|
|
|
|
|
|
|
sub TerminateJobFlows { |
196
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
197
|
0
|
|
|
|
|
|
my $call_object = $self->new_with_coercions('Paws::EMR::TerminateJobFlows', @_); |
198
|
0
|
|
|
|
|
|
return $self->caller->do_call($self, $call_object); |
199
|
|
|
|
|
|
|
} |
200
|
|
|
|
|
|
|
|
201
|
|
|
|
|
|
|
sub ListAllBootstrapActions { |
202
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
203
|
|
|
|
|
|
|
|
204
|
0
|
0
|
|
|
|
|
my $callback = shift @_ if (ref($_[0]) eq 'CODE'); |
205
|
0
|
|
|
|
|
|
my $result = $self->ListBootstrapActions(@_); |
206
|
0
|
|
|
|
|
|
my $next_result = $result; |
207
|
|
|
|
|
|
|
|
208
|
0
|
0
|
|
|
|
|
if (not defined $callback) { |
209
|
0
|
|
|
|
|
|
while ($next_result->Marker) { |
210
|
0
|
|
|
|
|
|
$next_result = $self->ListBootstrapActions(@_, Marker => $next_result->Marker); |
211
|
0
|
|
|
|
|
|
push @{ $result->BootstrapActions }, @{ $next_result->BootstrapActions }; |
|
0
|
|
|
|
|
|
|
|
0
|
|
|
|
|
|
|
212
|
|
|
|
|
|
|
} |
213
|
0
|
|
|
|
|
|
return $result; |
214
|
|
|
|
|
|
|
} else { |
215
|
0
|
|
|
|
|
|
while ($result->Marker) { |
216
|
0
|
|
|
|
|
|
$callback->($_ => 'BootstrapActions') foreach (@{ $result->BootstrapActions }); |
|
0
|
|
|
|
|
|
|
217
|
0
|
|
|
|
|
|
$result = $self->ListBootstrapActions(@_, Marker => $result->Marker); |
218
|
|
|
|
|
|
|
} |
219
|
0
|
|
|
|
|
|
$callback->($_ => 'BootstrapActions') foreach (@{ $result->BootstrapActions }); |
|
0
|
|
|
|
|
|
|
220
|
|
|
|
|
|
|
} |
221
|
|
|
|
|
|
|
|
222
|
|
|
|
|
|
|
return undef |
223
|
0
|
|
|
|
|
|
} |
224
|
|
|
|
|
|
|
sub ListAllClusters { |
225
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
226
|
|
|
|
|
|
|
|
227
|
0
|
0
|
|
|
|
|
my $callback = shift @_ if (ref($_[0]) eq 'CODE'); |
228
|
0
|
|
|
|
|
|
my $result = $self->ListClusters(@_); |
229
|
0
|
|
|
|
|
|
my $next_result = $result; |
230
|
|
|
|
|
|
|
|
231
|
0
|
0
|
|
|
|
|
if (not defined $callback) { |
232
|
0
|
|
|
|
|
|
while ($next_result->Marker) { |
233
|
0
|
|
|
|
|
|
$next_result = $self->ListClusters(@_, Marker => $next_result->Marker); |
234
|
0
|
|
|
|
|
|
push @{ $result->Clusters }, @{ $next_result->Clusters }; |
|
0
|
|
|
|
|
|
|
|
0
|
|
|
|
|
|
|
235
|
|
|
|
|
|
|
} |
236
|
0
|
|
|
|
|
|
return $result; |
237
|
|
|
|
|
|
|
} else { |
238
|
0
|
|
|
|
|
|
while ($result->Marker) { |
239
|
0
|
|
|
|
|
|
$callback->($_ => 'Clusters') foreach (@{ $result->Clusters }); |
|
0
|
|
|
|
|
|
|
240
|
0
|
|
|
|
|
|
$result = $self->ListClusters(@_, Marker => $result->Marker); |
241
|
|
|
|
|
|
|
} |
242
|
0
|
|
|
|
|
|
$callback->($_ => 'Clusters') foreach (@{ $result->Clusters }); |
|
0
|
|
|
|
|
|
|
243
|
|
|
|
|
|
|
} |
244
|
|
|
|
|
|
|
|
245
|
|
|
|
|
|
|
return undef |
246
|
0
|
|
|
|
|
|
} |
247
|
|
|
|
|
|
|
sub ListAllInstanceFleets { |
248
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
249
|
|
|
|
|
|
|
|
250
|
0
|
0
|
|
|
|
|
my $callback = shift @_ if (ref($_[0]) eq 'CODE'); |
251
|
0
|
|
|
|
|
|
my $result = $self->ListInstanceFleets(@_); |
252
|
0
|
|
|
|
|
|
my $next_result = $result; |
253
|
|
|
|
|
|
|
|
254
|
0
|
0
|
|
|
|
|
if (not defined $callback) { |
255
|
0
|
|
|
|
|
|
while ($next_result->Marker) { |
256
|
0
|
|
|
|
|
|
$next_result = $self->ListInstanceFleets(@_, Marker => $next_result->Marker); |
257
|
0
|
|
|
|
|
|
push @{ $result->InstanceFleets }, @{ $next_result->InstanceFleets }; |
|
0
|
|
|
|
|
|
|
|
0
|
|
|
|
|
|
|
258
|
|
|
|
|
|
|
} |
259
|
0
|
|
|
|
|
|
return $result; |
260
|
|
|
|
|
|
|
} else { |
261
|
0
|
|
|
|
|
|
while ($result->Marker) { |
262
|
0
|
|
|
|
|
|
$callback->($_ => 'InstanceFleets') foreach (@{ $result->InstanceFleets }); |
|
0
|
|
|
|
|
|
|
263
|
0
|
|
|
|
|
|
$result = $self->ListInstanceFleets(@_, Marker => $result->Marker); |
264
|
|
|
|
|
|
|
} |
265
|
0
|
|
|
|
|
|
$callback->($_ => 'InstanceFleets') foreach (@{ $result->InstanceFleets }); |
|
0
|
|
|
|
|
|
|
266
|
|
|
|
|
|
|
} |
267
|
|
|
|
|
|
|
|
268
|
|
|
|
|
|
|
return undef |
269
|
0
|
|
|
|
|
|
} |
270
|
|
|
|
|
|
|
sub ListAllInstanceGroups { |
271
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
272
|
|
|
|
|
|
|
|
273
|
0
|
0
|
|
|
|
|
my $callback = shift @_ if (ref($_[0]) eq 'CODE'); |
274
|
0
|
|
|
|
|
|
my $result = $self->ListInstanceGroups(@_); |
275
|
0
|
|
|
|
|
|
my $next_result = $result; |
276
|
|
|
|
|
|
|
|
277
|
0
|
0
|
|
|
|
|
if (not defined $callback) { |
278
|
0
|
|
|
|
|
|
while ($next_result->Marker) { |
279
|
0
|
|
|
|
|
|
$next_result = $self->ListInstanceGroups(@_, Marker => $next_result->Marker); |
280
|
0
|
|
|
|
|
|
push @{ $result->InstanceGroups }, @{ $next_result->InstanceGroups }; |
|
0
|
|
|
|
|
|
|
|
0
|
|
|
|
|
|
|
281
|
|
|
|
|
|
|
} |
282
|
0
|
|
|
|
|
|
return $result; |
283
|
|
|
|
|
|
|
} else { |
284
|
0
|
|
|
|
|
|
while ($result->Marker) { |
285
|
0
|
|
|
|
|
|
$callback->($_ => 'InstanceGroups') foreach (@{ $result->InstanceGroups }); |
|
0
|
|
|
|
|
|
|
286
|
0
|
|
|
|
|
|
$result = $self->ListInstanceGroups(@_, Marker => $result->Marker); |
287
|
|
|
|
|
|
|
} |
288
|
0
|
|
|
|
|
|
$callback->($_ => 'InstanceGroups') foreach (@{ $result->InstanceGroups }); |
|
0
|
|
|
|
|
|
|
289
|
|
|
|
|
|
|
} |
290
|
|
|
|
|
|
|
|
291
|
|
|
|
|
|
|
return undef |
292
|
0
|
|
|
|
|
|
} |
293
|
|
|
|
|
|
|
sub ListAllInstances { |
294
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
295
|
|
|
|
|
|
|
|
296
|
0
|
0
|
|
|
|
|
my $callback = shift @_ if (ref($_[0]) eq 'CODE'); |
297
|
0
|
|
|
|
|
|
my $result = $self->ListInstances(@_); |
298
|
0
|
|
|
|
|
|
my $next_result = $result; |
299
|
|
|
|
|
|
|
|
300
|
0
|
0
|
|
|
|
|
if (not defined $callback) { |
301
|
0
|
|
|
|
|
|
while ($next_result->Marker) { |
302
|
0
|
|
|
|
|
|
$next_result = $self->ListInstances(@_, Marker => $next_result->Marker); |
303
|
0
|
|
|
|
|
|
push @{ $result->Instances }, @{ $next_result->Instances }; |
|
0
|
|
|
|
|
|
|
|
0
|
|
|
|
|
|
|
304
|
|
|
|
|
|
|
} |
305
|
0
|
|
|
|
|
|
return $result; |
306
|
|
|
|
|
|
|
} else { |
307
|
0
|
|
|
|
|
|
while ($result->Marker) { |
308
|
0
|
|
|
|
|
|
$callback->($_ => 'Instances') foreach (@{ $result->Instances }); |
|
0
|
|
|
|
|
|
|
309
|
0
|
|
|
|
|
|
$result = $self->ListInstances(@_, Marker => $result->Marker); |
310
|
|
|
|
|
|
|
} |
311
|
0
|
|
|
|
|
|
$callback->($_ => 'Instances') foreach (@{ $result->Instances }); |
|
0
|
|
|
|
|
|
|
312
|
|
|
|
|
|
|
} |
313
|
|
|
|
|
|
|
|
314
|
|
|
|
|
|
|
return undef |
315
|
0
|
|
|
|
|
|
} |
316
|
|
|
|
|
|
|
sub ListAllSteps { |
317
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
318
|
|
|
|
|
|
|
|
319
|
0
|
0
|
|
|
|
|
my $callback = shift @_ if (ref($_[0]) eq 'CODE'); |
320
|
0
|
|
|
|
|
|
my $result = $self->ListSteps(@_); |
321
|
0
|
|
|
|
|
|
my $next_result = $result; |
322
|
|
|
|
|
|
|
|
323
|
0
|
0
|
|
|
|
|
if (not defined $callback) { |
324
|
0
|
|
|
|
|
|
while ($next_result->Marker) { |
325
|
0
|
|
|
|
|
|
$next_result = $self->ListSteps(@_, Marker => $next_result->Marker); |
326
|
0
|
|
|
|
|
|
push @{ $result->Steps }, @{ $next_result->Steps }; |
|
0
|
|
|
|
|
|
|
|
0
|
|
|
|
|
|
|
327
|
|
|
|
|
|
|
} |
328
|
0
|
|
|
|
|
|
return $result; |
329
|
|
|
|
|
|
|
} else { |
330
|
0
|
|
|
|
|
|
while ($result->Marker) { |
331
|
0
|
|
|
|
|
|
$callback->($_ => 'Steps') foreach (@{ $result->Steps }); |
|
0
|
|
|
|
|
|
|
332
|
0
|
|
|
|
|
|
$result = $self->ListSteps(@_, Marker => $result->Marker); |
333
|
|
|
|
|
|
|
} |
334
|
0
|
|
|
|
|
|
$callback->($_ => 'Steps') foreach (@{ $result->Steps }); |
|
0
|
|
|
|
|
|
|
335
|
|
|
|
|
|
|
} |
336
|
|
|
|
|
|
|
|
337
|
|
|
|
|
|
|
return undef |
338
|
0
|
|
|
|
|
|
} |
339
|
|
|
|
|
|
|
|
340
|
|
|
|
|
|
|
|
341
|
0
|
|
|
0
|
0
|
|
sub operations { qw/AddInstanceFleet AddInstanceGroups AddJobFlowSteps AddTags CancelSteps CreateSecurityConfiguration DeleteSecurityConfiguration DescribeCluster DescribeJobFlows DescribeSecurityConfiguration DescribeStep ListBootstrapActions ListClusters ListInstanceFleets ListInstanceGroups ListInstances ListSecurityConfigurations ListSteps ModifyInstanceFleet ModifyInstanceGroups PutAutoScalingPolicy RemoveAutoScalingPolicy RemoveTags RunJobFlow SetTerminationProtection SetVisibleToAllUsers TerminateJobFlows / } |
342
|
|
|
|
|
|
|
|
343
|
|
|
|
|
|
|
1; |
344
|
|
|
|
|
|
|
|
345
|
|
|
|
|
|
|
### main pod documentation begin ### |
346
|
|
|
|
|
|
|
|
347
|
|
|
|
|
|
|
=head1 NAME |
348
|
|
|
|
|
|
|
|
349
|
|
|
|
|
|
|
Paws::EMR - Perl Interface to AWS Amazon Elastic MapReduce |
350
|
|
|
|
|
|
|
|
351
|
|
|
|
|
|
|
=head1 SYNOPSIS |
352
|
|
|
|
|
|
|
|
353
|
|
|
|
|
|
|
use Paws; |
354
|
|
|
|
|
|
|
|
355
|
|
|
|
|
|
|
my $obj = Paws->service('EMR'); |
356
|
|
|
|
|
|
|
my $res = $obj->Method( |
357
|
|
|
|
|
|
|
Arg1 => $val1, |
358
|
|
|
|
|
|
|
Arg2 => [ 'V1', 'V2' ], |
359
|
|
|
|
|
|
|
# if Arg3 is an object, the HashRef will be used as arguments to the constructor |
360
|
|
|
|
|
|
|
# of the arguments type |
361
|
|
|
|
|
|
|
Arg3 => { Att1 => 'Val1' }, |
362
|
|
|
|
|
|
|
# if Arg4 is an array of objects, the HashRefs will be passed as arguments to |
363
|
|
|
|
|
|
|
# the constructor of the arguments type |
364
|
|
|
|
|
|
|
Arg4 => [ { Att1 => 'Val1' }, { Att1 => 'Val2' } ], |
365
|
|
|
|
|
|
|
); |
366
|
|
|
|
|
|
|
|
367
|
|
|
|
|
|
|
=head1 DESCRIPTION |
368
|
|
|
|
|
|
|
|
369
|
|
|
|
|
|
|
Amazon EMR is a web service that makes it easy to process large amounts |
370
|
|
|
|
|
|
|
of data efficiently. Amazon EMR uses Hadoop processing combined with |
371
|
|
|
|
|
|
|
several AWS products to do tasks such as web indexing, data mining, log |
372
|
|
|
|
|
|
|
file analysis, machine learning, scientific simulation, and data |
373
|
|
|
|
|
|
|
warehousing. |
374
|
|
|
|
|
|
|
|
375
|
|
|
|
|
|
|
=head1 METHODS |
376
|
|
|
|
|
|
|
|
377
|
|
|
|
|
|
|
=head2 AddInstanceFleet(ClusterId => Str, InstanceFleet => L<Paws::EMR::InstanceFleetConfig>) |
378
|
|
|
|
|
|
|
|
379
|
|
|
|
|
|
|
Each argument is described in detail in: L<Paws::EMR::AddInstanceFleet> |
380
|
|
|
|
|
|
|
|
381
|
|
|
|
|
|
|
Returns: a L<Paws::EMR::AddInstanceFleetOutput> instance |
382
|
|
|
|
|
|
|
|
383
|
|
|
|
|
|
|
Adds an instance fleet to a running cluster. |
384
|
|
|
|
|
|
|
|
385
|
|
|
|
|
|
|
The instance fleet configuration is available only in Amazon EMR |
386
|
|
|
|
|
|
|
versions 4.8.0 and later, excluding 5.0.x. |
387
|
|
|
|
|
|
|
|
388
|
|
|
|
|
|
|
|
389
|
|
|
|
|
|
|
=head2 AddInstanceGroups(InstanceGroups => ArrayRef[L<Paws::EMR::InstanceGroupConfig>], JobFlowId => Str) |
390
|
|
|
|
|
|
|
|
391
|
|
|
|
|
|
|
Each argument is described in detail in: L<Paws::EMR::AddInstanceGroups> |
392
|
|
|
|
|
|
|
|
393
|
|
|
|
|
|
|
Returns: a L<Paws::EMR::AddInstanceGroupsOutput> instance |
394
|
|
|
|
|
|
|
|
395
|
|
|
|
|
|
|
Adds one or more instance groups to a running cluster. |
396
|
|
|
|
|
|
|
|
397
|
|
|
|
|
|
|
|
398
|
|
|
|
|
|
|
=head2 AddJobFlowSteps(JobFlowId => Str, Steps => ArrayRef[L<Paws::EMR::StepConfig>]) |
399
|
|
|
|
|
|
|
|
400
|
|
|
|
|
|
|
Each argument is described in detail in: L<Paws::EMR::AddJobFlowSteps> |
401
|
|
|
|
|
|
|
|
402
|
|
|
|
|
|
|
Returns: a L<Paws::EMR::AddJobFlowStepsOutput> instance |
403
|
|
|
|
|
|
|
|
404
|
|
|
|
|
|
|
AddJobFlowSteps adds new steps to a running cluster. A maximum of 256 |
405
|
|
|
|
|
|
|
steps are allowed in each job flow. |
406
|
|
|
|
|
|
|
|
407
|
|
|
|
|
|
|
If your cluster is long-running (such as a Hive data warehouse) or |
408
|
|
|
|
|
|
|
complex, you may require more than 256 steps to process your data. You |
409
|
|
|
|
|
|
|
can bypass the 256-step limitation in various ways, including using SSH |
410
|
|
|
|
|
|
|
to connect to the master node and submitting queries directly to the |
411
|
|
|
|
|
|
|
software running on the master node, such as Hive and Hadoop. For more |
412
|
|
|
|
|
|
|
information on how to do this, see Add More than 256 Steps to a Cluster |
413
|
|
|
|
|
|
|
in the I<Amazon EMR Management Guide>. |
414
|
|
|
|
|
|
|
|
415
|
|
|
|
|
|
|
A step specifies the location of a JAR file stored either on the master |
416
|
|
|
|
|
|
|
node of the cluster or in Amazon S3. Each step is performed by the main |
417
|
|
|
|
|
|
|
function of the main class of the JAR file. The main class can be |
418
|
|
|
|
|
|
|
specified either in the manifest of the JAR or by using the |
419
|
|
|
|
|
|
|
MainFunction parameter of the step. |
420
|
|
|
|
|
|
|
|
421
|
|
|
|
|
|
|
Amazon EMR executes each step in the order listed. For a step to be |
422
|
|
|
|
|
|
|
considered complete, the main function must exit with a zero exit code |
423
|
|
|
|
|
|
|
and all Hadoop jobs started while the step was running must have |
424
|
|
|
|
|
|
|
completed and run successfully. |
425
|
|
|
|
|
|
|
|
426
|
|
|
|
|
|
|
You can only add steps to a cluster that is in one of the following |
427
|
|
|
|
|
|
|
states: STARTING, BOOTSTRAPPING, RUNNING, or WAITING. |
428
|
|
|
|
|
|
|
|
429
|
|
|
|
|
|
|
|
430
|
|
|
|
|
|
|
=head2 AddTags(ResourceId => Str, Tags => ArrayRef[L<Paws::EMR::Tag>]) |
431
|
|
|
|
|
|
|
|
432
|
|
|
|
|
|
|
Each argument is described in detail in: L<Paws::EMR::AddTags> |
433
|
|
|
|
|
|
|
|
434
|
|
|
|
|
|
|
Returns: a L<Paws::EMR::AddTagsOutput> instance |
435
|
|
|
|
|
|
|
|
436
|
|
|
|
|
|
|
Adds tags to an Amazon EMR resource. Tags make it easier to associate |
437
|
|
|
|
|
|
|
clusters in various ways, such as grouping clusters to track your |
438
|
|
|
|
|
|
|
Amazon EMR resource allocation costs. For more information, see Tagging |
439
|
|
|
|
|
|
|
Amazon EMR Resources. |
440
|
|
|
|
|
|
|
|
441
|
|
|
|
|
|
|
|
442
|
|
|
|
|
|
|
=head2 CancelSteps([ClusterId => Str, StepIds => ArrayRef[Str|Undef]]) |
443
|
|
|
|
|
|
|
|
444
|
|
|
|
|
|
|
Each argument is described in detail in: L<Paws::EMR::CancelSteps> |
445
|
|
|
|
|
|
|
|
446
|
|
|
|
|
|
|
Returns: a L<Paws::EMR::CancelStepsOutput> instance |
447
|
|
|
|
|
|
|
|
448
|
|
|
|
|
|
|
Cancels a pending step or steps in a running cluster. Available only in |
449
|
|
|
|
|
|
|
Amazon EMR versions 4.8.0 and later, excluding version 5.0.0. A maximum |
450
|
|
|
|
|
|
|
of 256 steps are allowed in each CancelSteps request. CancelSteps is |
451
|
|
|
|
|
|
|
idempotent but asynchronous; it does not guarantee a step will be |
452
|
|
|
|
|
|
|
canceled, even if the request is successfully submitted. You can only |
453
|
|
|
|
|
|
|
cancel steps that are in a C<PENDING> state. |
454
|
|
|
|
|
|
|
|
455
|
|
|
|
|
|
|
|
456
|
|
|
|
|
|
|
=head2 CreateSecurityConfiguration(Name => Str, SecurityConfiguration => Str) |
457
|
|
|
|
|
|
|
|
458
|
|
|
|
|
|
|
Each argument is described in detail in: L<Paws::EMR::CreateSecurityConfiguration> |
459
|
|
|
|
|
|
|
|
460
|
|
|
|
|
|
|
Returns: a L<Paws::EMR::CreateSecurityConfigurationOutput> instance |
461
|
|
|
|
|
|
|
|
462
|
|
|
|
|
|
|
Creates a security configuration, which is stored in the service and |
463
|
|
|
|
|
|
|
can be specified when a cluster is created. |
464
|
|
|
|
|
|
|
|
465
|
|
|
|
|
|
|
|
466
|
|
|
|
|
|
|
=head2 DeleteSecurityConfiguration(Name => Str) |
467
|
|
|
|
|
|
|
|
468
|
|
|
|
|
|
|
Each argument is described in detail in: L<Paws::EMR::DeleteSecurityConfiguration> |
469
|
|
|
|
|
|
|
|
470
|
|
|
|
|
|
|
Returns: a L<Paws::EMR::DeleteSecurityConfigurationOutput> instance |
471
|
|
|
|
|
|
|
|
472
|
|
|
|
|
|
|
Deletes a security configuration. |
473
|
|
|
|
|
|
|
|
474
|
|
|
|
|
|
|
|
475
|
|
|
|
|
|
|
=head2 DescribeCluster(ClusterId => Str) |
476
|
|
|
|
|
|
|
|
477
|
|
|
|
|
|
|
Each argument is described in detail in: L<Paws::EMR::DescribeCluster> |
478
|
|
|
|
|
|
|
|
479
|
|
|
|
|
|
|
Returns: a L<Paws::EMR::DescribeClusterOutput> instance |
480
|
|
|
|
|
|
|
|
481
|
|
|
|
|
|
|
Provides cluster-level details including status, hardware and software |
482
|
|
|
|
|
|
|
configuration, VPC settings, and so on. For information about the |
483
|
|
|
|
|
|
|
cluster steps, see ListSteps. |
484
|
|
|
|
|
|
|
|
485
|
|
|
|
|
|
|
|
486
|
|
|
|
|
|
|
=head2 DescribeJobFlows([CreatedAfter => Str, CreatedBefore => Str, JobFlowIds => ArrayRef[Str|Undef], JobFlowStates => ArrayRef[Str|Undef]]) |
487
|
|
|
|
|
|
|
|
488
|
|
|
|
|
|
|
Each argument is described in detail in: L<Paws::EMR::DescribeJobFlows> |
489
|
|
|
|
|
|
|
|
490
|
|
|
|
|
|
|
Returns: a L<Paws::EMR::DescribeJobFlowsOutput> instance |
491
|
|
|
|
|
|
|
|
492
|
|
|
|
|
|
|
This API is deprecated and will eventually be removed. We recommend you |
493
|
|
|
|
|
|
|
use ListClusters, DescribeCluster, ListSteps, ListInstanceGroups and |
494
|
|
|
|
|
|
|
ListBootstrapActions instead. |
495
|
|
|
|
|
|
|
|
496
|
|
|
|
|
|
|
DescribeJobFlows returns a list of job flows that match all of the |
497
|
|
|
|
|
|
|
supplied parameters. The parameters can include a list of job flow IDs, |
498
|
|
|
|
|
|
|
job flow states, and restrictions on job flow creation date and time. |
499
|
|
|
|
|
|
|
|
500
|
|
|
|
|
|
|
Regardless of supplied parameters, only job flows created within the |
501
|
|
|
|
|
|
|
last two months are returned. |
502
|
|
|
|
|
|
|
|
503
|
|
|
|
|
|
|
If no parameters are supplied, then job flows matching either of the |
504
|
|
|
|
|
|
|
following criteria are returned: |
505
|
|
|
|
|
|
|
|
506
|
|
|
|
|
|
|
=over |
507
|
|
|
|
|
|
|
|
508
|
|
|
|
|
|
|
=item * |
509
|
|
|
|
|
|
|
|
510
|
|
|
|
|
|
|
Job flows created and completed in the last two weeks |
511
|
|
|
|
|
|
|
|
512
|
|
|
|
|
|
|
=item * |
513
|
|
|
|
|
|
|
|
514
|
|
|
|
|
|
|
Job flows created within the last two months that are in one of the |
515
|
|
|
|
|
|
|
following states: C<RUNNING>, C<WAITING>, C<SHUTTING_DOWN>, C<STARTING> |
516
|
|
|
|
|
|
|
|
517
|
|
|
|
|
|
|
=back |
518
|
|
|
|
|
|
|
|
519
|
|
|
|
|
|
|
Amazon EMR can return a maximum of 512 job flow descriptions. |
520
|
|
|
|
|
|
|
|
521
|
|
|
|
|
|
|
|
522
|
|
|
|
|
|
|
=head2 DescribeSecurityConfiguration(Name => Str) |
523
|
|
|
|
|
|
|
|
524
|
|
|
|
|
|
|
Each argument is described in detail in: L<Paws::EMR::DescribeSecurityConfiguration> |
525
|
|
|
|
|
|
|
|
526
|
|
|
|
|
|
|
Returns: a L<Paws::EMR::DescribeSecurityConfigurationOutput> instance |
527
|
|
|
|
|
|
|
|
528
|
|
|
|
|
|
|
Provides the details of a security configuration by returning the |
529
|
|
|
|
|
|
|
configuration JSON. |
530
|
|
|
|
|
|
|
|
531
|
|
|
|
|
|
|
|
532
|
|
|
|
|
|
|
=head2 DescribeStep(ClusterId => Str, StepId => Str) |
533
|
|
|
|
|
|
|
|
534
|
|
|
|
|
|
|
Each argument is described in detail in: L<Paws::EMR::DescribeStep> |
535
|
|
|
|
|
|
|
|
536
|
|
|
|
|
|
|
Returns: a L<Paws::EMR::DescribeStepOutput> instance |
537
|
|
|
|
|
|
|
|
538
|
|
|
|
|
|
|
Provides more detail about the cluster step. |
539
|
|
|
|
|
|
|
|
540
|
|
|
|
|
|
|
|
541
|
|
|
|
|
|
|
=head2 ListBootstrapActions(ClusterId => Str, [Marker => Str]) |
542
|
|
|
|
|
|
|
|
543
|
|
|
|
|
|
|
Each argument is described in detail in: L<Paws::EMR::ListBootstrapActions> |
544
|
|
|
|
|
|
|
|
545
|
|
|
|
|
|
|
Returns: a L<Paws::EMR::ListBootstrapActionsOutput> instance |
546
|
|
|
|
|
|
|
|
547
|
|
|
|
|
|
|
Provides information about the bootstrap actions associated with a |
548
|
|
|
|
|
|
|
cluster. |
549
|
|
|
|
|
|
|
|
550
|
|
|
|
|
|
|
|
551
|
|
|
|
|
|
|
=head2 ListClusters([ClusterStates => ArrayRef[Str|Undef], CreatedAfter => Str, CreatedBefore => Str, Marker => Str]) |
552
|
|
|
|
|
|
|
|
553
|
|
|
|
|
|
|
Each argument is described in detail in: L<Paws::EMR::ListClusters> |
554
|
|
|
|
|
|
|
|
555
|
|
|
|
|
|
|
Returns: a L<Paws::EMR::ListClustersOutput> instance |
556
|
|
|
|
|
|
|
|
557
|
|
|
|
|
|
|
Provides the status of all clusters visible to this AWS account. Allows |
558
|
|
|
|
|
|
|
you to filter the list of clusters based on certain criteria; for |
559
|
|
|
|
|
|
|
example, filtering by cluster creation date and time or by status. This |
560
|
|
|
|
|
|
|
call returns a maximum of 50 clusters per call, but returns a marker to |
561
|
|
|
|
|
|
|
track the paging of the cluster list across multiple ListClusters |
562
|
|
|
|
|
|
|
calls. |
563
|
|
|
|
|
|
|
|
564
|
|
|
|
|
|
|
|
565
|
|
|
|
|
|
|
=head2 ListInstanceFleets(ClusterId => Str, [Marker => Str]) |
566
|
|
|
|
|
|
|
|
567
|
|
|
|
|
|
|
Each argument is described in detail in: L<Paws::EMR::ListInstanceFleets> |
568
|
|
|
|
|
|
|
|
569
|
|
|
|
|
|
|
Returns: a L<Paws::EMR::ListInstanceFleetsOutput> instance |
570
|
|
|
|
|
|
|
|
571
|
|
|
|
|
|
|
Lists all available details about the instance fleets in a cluster. |
572
|
|
|
|
|
|
|
|
573
|
|
|
|
|
|
|
The instance fleet configuration is available only in Amazon EMR |
574
|
|
|
|
|
|
|
versions 4.8.0 and later, excluding 5.0.x versions. |
575
|
|
|
|
|
|
|
|
576
|
|
|
|
|
|
|
|
577
|
|
|
|
|
|
|
=head2 ListInstanceGroups(ClusterId => Str, [Marker => Str]) |
578
|
|
|
|
|
|
|
|
579
|
|
|
|
|
|
|
Each argument is described in detail in: L<Paws::EMR::ListInstanceGroups> |
580
|
|
|
|
|
|
|
|
581
|
|
|
|
|
|
|
Returns: a L<Paws::EMR::ListInstanceGroupsOutput> instance |
582
|
|
|
|
|
|
|
|
583
|
|
|
|
|
|
|
Provides all available details about the instance groups in a cluster. |
584
|
|
|
|
|
|
|
|
585
|
|
|
|
|
|
|
|
586
|
|
|
|
|
|
|
=head2 ListInstances(ClusterId => Str, [InstanceFleetId => Str, InstanceFleetType => Str, InstanceGroupId => Str, InstanceGroupTypes => ArrayRef[Str|Undef], InstanceStates => ArrayRef[Str|Undef], Marker => Str]) |
587
|
|
|
|
|
|
|
|
588
|
|
|
|
|
|
|
Each argument is described in detail in: L<Paws::EMR::ListInstances> |
589
|
|
|
|
|
|
|
|
590
|
|
|
|
|
|
|
Returns: a L<Paws::EMR::ListInstancesOutput> instance |
591
|
|
|
|
|
|
|
|
592
|
|
|
|
|
|
|
Provides information for all active EC2 instances and EC2 instances |
593
|
|
|
|
|
|
|
terminated in the last 30 days, up to a maximum of 2,000. EC2 instances |
594
|
|
|
|
|
|
|
in any of the following states are considered active: |
595
|
|
|
|
|
|
|
AWAITING_FULFILLMENT, PROVISIONING, BOOTSTRAPPING, RUNNING. |
596
|
|
|
|
|
|
|
|
597
|
|
|
|
|
|
|
|
598
|
|
|
|
|
|
|
=head2 ListSecurityConfigurations([Marker => Str]) |
599
|
|
|
|
|
|
|
|
600
|
|
|
|
|
|
|
Each argument is described in detail in: L<Paws::EMR::ListSecurityConfigurations> |
601
|
|
|
|
|
|
|
|
602
|
|
|
|
|
|
|
Returns: a L<Paws::EMR::ListSecurityConfigurationsOutput> instance |
603
|
|
|
|
|
|
|
|
604
|
|
|
|
|
|
|
Lists all the security configurations visible to this account, |
605
|
|
|
|
|
|
|
providing their creation dates and times, and their names. This call |
606
|
|
|
|
|
|
|
returns a maximum of 50 clusters per call, but returns a marker to |
607
|
|
|
|
|
|
|
track the paging of the cluster list across multiple |
608
|
|
|
|
|
|
|
ListSecurityConfigurations calls. |
609
|
|
|
|
|
|
|
|
610
|
|
|
|
|
|
|
|
611
|
|
|
|
|
|
|
=head2 ListSteps(ClusterId => Str, [Marker => Str, StepIds => ArrayRef[Str|Undef], StepStates => ArrayRef[Str|Undef]]) |
612
|
|
|
|
|
|
|
|
613
|
|
|
|
|
|
|
Each argument is described in detail in: L<Paws::EMR::ListSteps> |
614
|
|
|
|
|
|
|
|
615
|
|
|
|
|
|
|
Returns: a L<Paws::EMR::ListStepsOutput> instance |
616
|
|
|
|
|
|
|
|
617
|
|
|
|
|
|
|
Provides a list of steps for the cluster in reverse order unless you |
618
|
|
|
|
|
|
|
specify stepIds with the request. |
619
|
|
|
|
|
|
|
|
620
|
|
|
|
|
|
|
|
621
|
|
|
|
|
|
|
=head2 ModifyInstanceFleet(ClusterId => Str, InstanceFleet => L<Paws::EMR::InstanceFleetModifyConfig>) |
622
|
|
|
|
|
|
|
|
623
|
|
|
|
|
|
|
Each argument is described in detail in: L<Paws::EMR::ModifyInstanceFleet> |
624
|
|
|
|
|
|
|
|
625
|
|
|
|
|
|
|
Returns: nothing |
626
|
|
|
|
|
|
|
|
627
|
|
|
|
|
|
|
Modifies the target On-Demand and target Spot capacities for the |
628
|
|
|
|
|
|
|
instance fleet with the specified InstanceFleetID within the cluster |
629
|
|
|
|
|
|
|
specified using ClusterID. The call either succeeds or fails |
630
|
|
|
|
|
|
|
atomically. |
631
|
|
|
|
|
|
|
|
632
|
|
|
|
|
|
|
The instance fleet configuration is available only in Amazon EMR |
633
|
|
|
|
|
|
|
versions 4.8.0 and later, excluding 5.0.x versions. |
634
|
|
|
|
|
|
|
|
635
|
|
|
|
|
|
|
|
636
|
|
|
|
|
|
|
=head2 ModifyInstanceGroups([ClusterId => Str, InstanceGroups => ArrayRef[L<Paws::EMR::InstanceGroupModifyConfig>]]) |
637
|
|
|
|
|
|
|
|
638
|
|
|
|
|
|
|
Each argument is described in detail in: L<Paws::EMR::ModifyInstanceGroups> |
639
|
|
|
|
|
|
|
|
640
|
|
|
|
|
|
|
Returns: nothing |
641
|
|
|
|
|
|
|
|
642
|
|
|
|
|
|
|
ModifyInstanceGroups modifies the number of nodes and configuration |
643
|
|
|
|
|
|
|
settings of an instance group. The input parameters include the new |
644
|
|
|
|
|
|
|
target instance count for the group and the instance group ID. The call |
645
|
|
|
|
|
|
|
will either succeed or fail atomically. |
646
|
|
|
|
|
|
|
|
647
|
|
|
|
|
|
|
|
648
|
|
|
|
|
|
|
=head2 PutAutoScalingPolicy(AutoScalingPolicy => L<Paws::EMR::AutoScalingPolicy>, ClusterId => Str, InstanceGroupId => Str) |
649
|
|
|
|
|
|
|
|
650
|
|
|
|
|
|
|
Each argument is described in detail in: L<Paws::EMR::PutAutoScalingPolicy> |
651
|
|
|
|
|
|
|
|
652
|
|
|
|
|
|
|
Returns: a L<Paws::EMR::PutAutoScalingPolicyOutput> instance |
653
|
|
|
|
|
|
|
|
654
|
|
|
|
|
|
|
Creates or updates an automatic scaling policy for a core instance |
655
|
|
|
|
|
|
|
group or task instance group in an Amazon EMR cluster. The automatic |
656
|
|
|
|
|
|
|
scaling policy defines how an instance group dynamically adds and |
657
|
|
|
|
|
|
|
terminates EC2 instances in response to the value of a CloudWatch |
658
|
|
|
|
|
|
|
metric. |
659
|
|
|
|
|
|
|
|
660
|
|
|
|
|
|
|
|
661
|
|
|
|
|
|
|
=head2 RemoveAutoScalingPolicy(ClusterId => Str, InstanceGroupId => Str) |
662
|
|
|
|
|
|
|
|
663
|
|
|
|
|
|
|
Each argument is described in detail in: L<Paws::EMR::RemoveAutoScalingPolicy> |
664
|
|
|
|
|
|
|
|
665
|
|
|
|
|
|
|
Returns: a L<Paws::EMR::RemoveAutoScalingPolicyOutput> instance |
666
|
|
|
|
|
|
|
|
667
|
|
|
|
|
|
|
Removes an automatic scaling policy from a specified instance group |
668
|
|
|
|
|
|
|
within an EMR cluster. |
669
|
|
|
|
|
|
|
|
670
|
|
|
|
|
|
|
|
671
|
|
|
|
|
|
|
=head2 RemoveTags(ResourceId => Str, TagKeys => ArrayRef[Str|Undef]) |
672
|
|
|
|
|
|
|
|
673
|
|
|
|
|
|
|
Each argument is described in detail in: L<Paws::EMR::RemoveTags> |
674
|
|
|
|
|
|
|
|
675
|
|
|
|
|
|
|
Returns: a L<Paws::EMR::RemoveTagsOutput> instance |
676
|
|
|
|
|
|
|
|
677
|
|
|
|
|
|
|
Removes tags from an Amazon EMR resource. Tags make it easier to |
678
|
|
|
|
|
|
|
associate clusters in various ways, such as grouping clusters to track |
679
|
|
|
|
|
|
|
your Amazon EMR resource allocation costs. For more information, see |
680
|
|
|
|
|
|
|
Tagging Amazon EMR Resources. |
681
|
|
|
|
|
|
|
|
682
|
|
|
|
|
|
|
The following example removes the stack tag with value Prod from a |
683
|
|
|
|
|
|
|
cluster: |
684
|
|
|
|
|
|
|
|
685
|
|
|
|
|
|
|
|
686
|
|
|
|
|
|
|
=head2 RunJobFlow(Instances => L<Paws::EMR::JobFlowInstancesConfig>, Name => Str, [AdditionalInfo => Str, AmiVersion => Str, Applications => ArrayRef[L<Paws::EMR::Application>], AutoScalingRole => Str, BootstrapActions => ArrayRef[L<Paws::EMR::BootstrapActionConfig>], Configurations => ArrayRef[L<Paws::EMR::Configuration>], CustomAmiId => Str, EbsRootVolumeSize => Int, JobFlowRole => Str, LogUri => Str, NewSupportedProducts => ArrayRef[L<Paws::EMR::SupportedProductConfig>], ReleaseLabel => Str, RepoUpgradeOnBoot => Str, ScaleDownBehavior => Str, SecurityConfiguration => Str, ServiceRole => Str, Steps => ArrayRef[L<Paws::EMR::StepConfig>], SupportedProducts => ArrayRef[Str|Undef], Tags => ArrayRef[L<Paws::EMR::Tag>], VisibleToAllUsers => Bool]) |
687
|
|
|
|
|
|
|
|
688
|
|
|
|
|
|
|
Each argument is described in detail in: L<Paws::EMR::RunJobFlow> |
689
|
|
|
|
|
|
|
|
690
|
|
|
|
|
|
|
Returns: a L<Paws::EMR::RunJobFlowOutput> instance |
691
|
|
|
|
|
|
|
|
692
|
|
|
|
|
|
|
RunJobFlow creates and starts running a new cluster (job flow). The |
693
|
|
|
|
|
|
|
cluster runs the steps specified. After the steps complete, the cluster |
694
|
|
|
|
|
|
|
stops and the HDFS partition is lost. To prevent loss of data, |
695
|
|
|
|
|
|
|
configure the last step of the job flow to store results in Amazon S3. |
696
|
|
|
|
|
|
|
If the JobFlowInstancesConfig C<KeepJobFlowAliveWhenNoSteps> parameter |
697
|
|
|
|
|
|
|
is set to C<TRUE>, the cluster transitions to the WAITING state rather |
698
|
|
|
|
|
|
|
than shutting down after the steps have completed. |
699
|
|
|
|
|
|
|
|
700
|
|
|
|
|
|
|
For additional protection, you can set the JobFlowInstancesConfig |
701
|
|
|
|
|
|
|
C<TerminationProtected> parameter to C<TRUE> to lock the cluster and |
702
|
|
|
|
|
|
|
prevent it from being terminated by API call, user intervention, or in |
703
|
|
|
|
|
|
|
the event of a job flow error. |
704
|
|
|
|
|
|
|
|
705
|
|
|
|
|
|
|
A maximum of 256 steps are allowed in each job flow. |
706
|
|
|
|
|
|
|
|
707
|
|
|
|
|
|
|
If your cluster is long-running (such as a Hive data warehouse) or |
708
|
|
|
|
|
|
|
complex, you may require more than 256 steps to process your data. You |
709
|
|
|
|
|
|
|
can bypass the 256-step limitation in various ways, including using the |
710
|
|
|
|
|
|
|
SSH shell to connect to the master node and submitting queries directly |
711
|
|
|
|
|
|
|
to the software running on the master node, such as Hive and Hadoop. |
712
|
|
|
|
|
|
|
For more information on how to do this, see Add More than 256 Steps to |
713
|
|
|
|
|
|
|
a Cluster in the I<Amazon EMR Management Guide>. |
714
|
|
|
|
|
|
|
|
715
|
|
|
|
|
|
|
For long running clusters, we recommend that you periodically store |
716
|
|
|
|
|
|
|
your results. |
717
|
|
|
|
|
|
|
|
718
|
|
|
|
|
|
|
The instance fleets configuration is available only in Amazon EMR |
719
|
|
|
|
|
|
|
versions 4.8.0 and later, excluding 5.0.x versions. The RunJobFlow |
720
|
|
|
|
|
|
|
request can contain InstanceFleets parameters or InstanceGroups |
721
|
|
|
|
|
|
|
parameters, but not both. |
722
|
|
|
|
|
|
|
|
723
|
|
|
|
|
|
|
|
724
|
|
|
|
|
|
|
=head2 SetTerminationProtection(JobFlowIds => ArrayRef[Str|Undef], TerminationProtected => Bool) |
725
|
|
|
|
|
|
|
|
726
|
|
|
|
|
|
|
Each argument is described in detail in: L<Paws::EMR::SetTerminationProtection> |
727
|
|
|
|
|
|
|
|
728
|
|
|
|
|
|
|
Returns: nothing |
729
|
|
|
|
|
|
|
|
730
|
|
|
|
|
|
|
SetTerminationProtection locks a cluster (job flow) so the EC2 |
731
|
|
|
|
|
|
|
instances in the cluster cannot be terminated by user intervention, an |
732
|
|
|
|
|
|
|
API call, or in the event of a job-flow error. The cluster still |
733
|
|
|
|
|
|
|
terminates upon successful completion of the job flow. Calling |
734
|
|
|
|
|
|
|
C<SetTerminationProtection> on a cluster is similar to calling the |
735
|
|
|
|
|
|
|
Amazon EC2 C<DisableAPITermination> API on all EC2 instances in a |
736
|
|
|
|
|
|
|
cluster. |
737
|
|
|
|
|
|
|
|
738
|
|
|
|
|
|
|
C<SetTerminationProtection> is used to prevent accidental termination |
739
|
|
|
|
|
|
|
of a cluster and to ensure that in the event of an error, the instances |
740
|
|
|
|
|
|
|
persist so that you can recover any data stored in their ephemeral |
741
|
|
|
|
|
|
|
instance storage. |
742
|
|
|
|
|
|
|
|
743
|
|
|
|
|
|
|
To terminate a cluster that has been locked by setting |
744
|
|
|
|
|
|
|
C<SetTerminationProtection> to C<true>, you must first unlock the job |
745
|
|
|
|
|
|
|
flow by a subsequent call to C<SetTerminationProtection> in which you |
746
|
|
|
|
|
|
|
set the value to C<false>. |
747
|
|
|
|
|
|
|
|
748
|
|
|
|
|
|
|
For more information, seeManaging Cluster Termination in the I<Amazon |
749
|
|
|
|
|
|
|
EMR Management Guide>. |
750
|
|
|
|
|
|
|
|
751
|
|
|
|
|
|
|
|
752
|
|
|
|
|
|
|
=head2 SetVisibleToAllUsers(JobFlowIds => ArrayRef[Str|Undef], VisibleToAllUsers => Bool) |
753
|
|
|
|
|
|
|
|
754
|
|
|
|
|
|
|
Each argument is described in detail in: L<Paws::EMR::SetVisibleToAllUsers> |
755
|
|
|
|
|
|
|
|
756
|
|
|
|
|
|
|
Returns: nothing |
757
|
|
|
|
|
|
|
|
758
|
|
|
|
|
|
|
Sets whether all AWS Identity and Access Management (IAM) users under |
759
|
|
|
|
|
|
|
your account can access the specified clusters (job flows). This action |
760
|
|
|
|
|
|
|
works on running clusters. You can also set the visibility of a cluster |
761
|
|
|
|
|
|
|
when you launch it using the C<VisibleToAllUsers> parameter of |
762
|
|
|
|
|
|
|
RunJobFlow. The SetVisibleToAllUsers action can be called only by an |
763
|
|
|
|
|
|
|
IAM user who created the cluster or the AWS account that owns the |
764
|
|
|
|
|
|
|
cluster. |
765
|
|
|
|
|
|
|
|
766
|
|
|
|
|
|
|
|
767
|
|
|
|
|
|
|
=head2 TerminateJobFlows(JobFlowIds => ArrayRef[Str|Undef]) |
768
|
|
|
|
|
|
|
|
769
|
|
|
|
|
|
|
Each argument is described in detail in: L<Paws::EMR::TerminateJobFlows> |
770
|
|
|
|
|
|
|
|
771
|
|
|
|
|
|
|
Returns: nothing |
772
|
|
|
|
|
|
|
|
773
|
|
|
|
|
|
|
TerminateJobFlows shuts a list of clusters (job flows) down. When a job |
774
|
|
|
|
|
|
|
flow is shut down, any step not yet completed is canceled and the EC2 |
775
|
|
|
|
|
|
|
instances on which the cluster is running are stopped. Any log files |
776
|
|
|
|
|
|
|
not already saved are uploaded to Amazon S3 if a LogUri was specified |
777
|
|
|
|
|
|
|
when the cluster was created. |
778
|
|
|
|
|
|
|
|
779
|
|
|
|
|
|
|
The maximum number of clusters allowed is 10. The call to |
780
|
|
|
|
|
|
|
C<TerminateJobFlows> is asynchronous. Depending on the configuration of |
781
|
|
|
|
|
|
|
the cluster, it may take up to 1-5 minutes for the cluster to |
782
|
|
|
|
|
|
|
completely terminate and release allocated resources, such as Amazon |
783
|
|
|
|
|
|
|
EC2 instances. |
784
|
|
|
|
|
|
|
|
785
|
|
|
|
|
|
|
|
786
|
|
|
|
|
|
|
|
787
|
|
|
|
|
|
|
|
788
|
|
|
|
|
|
|
=head1 PAGINATORS |
789
|
|
|
|
|
|
|
|
790
|
|
|
|
|
|
|
Paginator methods are helpers that repetively call methods that return partial results |
791
|
|
|
|
|
|
|
|
792
|
|
|
|
|
|
|
=head2 ListAllBootstrapActions(sub { },ClusterId => Str, [Marker => Str]) |
793
|
|
|
|
|
|
|
|
794
|
|
|
|
|
|
|
=head2 ListAllBootstrapActions(ClusterId => Str, [Marker => Str]) |
795
|
|
|
|
|
|
|
|
796
|
|
|
|
|
|
|
|
797
|
|
|
|
|
|
|
If passed a sub as first parameter, it will call the sub for each element found in : |
798
|
|
|
|
|
|
|
|
799
|
|
|
|
|
|
|
- BootstrapActions, passing the object as the first parameter, and the string 'BootstrapActions' as the second parameter |
800
|
|
|
|
|
|
|
|
801
|
|
|
|
|
|
|
If not, it will return a a L<Paws::EMR::ListBootstrapActionsOutput> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory. |
802
|
|
|
|
|
|
|
|
803
|
|
|
|
|
|
|
|
804
|
|
|
|
|
|
|
=head2 ListAllClusters(sub { },[ClusterStates => ArrayRef[Str|Undef], CreatedAfter => Str, CreatedBefore => Str, Marker => Str]) |
805
|
|
|
|
|
|
|
|
806
|
|
|
|
|
|
|
=head2 ListAllClusters([ClusterStates => ArrayRef[Str|Undef], CreatedAfter => Str, CreatedBefore => Str, Marker => Str]) |
807
|
|
|
|
|
|
|
|
808
|
|
|
|
|
|
|
|
809
|
|
|
|
|
|
|
If passed a sub as first parameter, it will call the sub for each element found in : |
810
|
|
|
|
|
|
|
|
811
|
|
|
|
|
|
|
- Clusters, passing the object as the first parameter, and the string 'Clusters' as the second parameter |
812
|
|
|
|
|
|
|
|
813
|
|
|
|
|
|
|
If not, it will return a a L<Paws::EMR::ListClustersOutput> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory. |
814
|
|
|
|
|
|
|
|
815
|
|
|
|
|
|
|
|
816
|
|
|
|
|
|
|
=head2 ListAllInstanceFleets(sub { },ClusterId => Str, [Marker => Str]) |
817
|
|
|
|
|
|
|
|
818
|
|
|
|
|
|
|
=head2 ListAllInstanceFleets(ClusterId => Str, [Marker => Str]) |
819
|
|
|
|
|
|
|
|
820
|
|
|
|
|
|
|
|
821
|
|
|
|
|
|
|
If passed a sub as first parameter, it will call the sub for each element found in : |
822
|
|
|
|
|
|
|
|
823
|
|
|
|
|
|
|
- InstanceFleets, passing the object as the first parameter, and the string 'InstanceFleets' as the second parameter |
824
|
|
|
|
|
|
|
|
825
|
|
|
|
|
|
|
If not, it will return a a L<Paws::EMR::ListInstanceFleetsOutput> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory. |
826
|
|
|
|
|
|
|
|
827
|
|
|
|
|
|
|
|
828
|
|
|
|
|
|
|
=head2 ListAllInstanceGroups(sub { },ClusterId => Str, [Marker => Str]) |
829
|
|
|
|
|
|
|
|
830
|
|
|
|
|
|
|
=head2 ListAllInstanceGroups(ClusterId => Str, [Marker => Str]) |
831
|
|
|
|
|
|
|
|
832
|
|
|
|
|
|
|
|
833
|
|
|
|
|
|
|
If passed a sub as first parameter, it will call the sub for each element found in : |
834
|
|
|
|
|
|
|
|
835
|
|
|
|
|
|
|
- InstanceGroups, passing the object as the first parameter, and the string 'InstanceGroups' as the second parameter |
836
|
|
|
|
|
|
|
|
837
|
|
|
|
|
|
|
If not, it will return a a L<Paws::EMR::ListInstanceGroupsOutput> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory. |
838
|
|
|
|
|
|
|
|
839
|
|
|
|
|
|
|
|
840
|
|
|
|
|
|
|
=head2 ListAllInstances(sub { },ClusterId => Str, [InstanceFleetId => Str, InstanceFleetType => Str, InstanceGroupId => Str, InstanceGroupTypes => ArrayRef[Str|Undef], InstanceStates => ArrayRef[Str|Undef], Marker => Str]) |
841
|
|
|
|
|
|
|
|
842
|
|
|
|
|
|
|
=head2 ListAllInstances(ClusterId => Str, [InstanceFleetId => Str, InstanceFleetType => Str, InstanceGroupId => Str, InstanceGroupTypes => ArrayRef[Str|Undef], InstanceStates => ArrayRef[Str|Undef], Marker => Str]) |
843
|
|
|
|
|
|
|
|
844
|
|
|
|
|
|
|
|
845
|
|
|
|
|
|
|
If passed a sub as first parameter, it will call the sub for each element found in : |
846
|
|
|
|
|
|
|
|
847
|
|
|
|
|
|
|
- Instances, passing the object as the first parameter, and the string 'Instances' as the second parameter |
848
|
|
|
|
|
|
|
|
849
|
|
|
|
|
|
|
If not, it will return a a L<Paws::EMR::ListInstancesOutput> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory. |
850
|
|
|
|
|
|
|
|
851
|
|
|
|
|
|
|
|
852
|
|
|
|
|
|
|
=head2 ListAllSteps(sub { },ClusterId => Str, [Marker => Str, StepIds => ArrayRef[Str|Undef], StepStates => ArrayRef[Str|Undef]]) |
853
|
|
|
|
|
|
|
|
854
|
|
|
|
|
|
|
=head2 ListAllSteps(ClusterId => Str, [Marker => Str, StepIds => ArrayRef[Str|Undef], StepStates => ArrayRef[Str|Undef]]) |
855
|
|
|
|
|
|
|
|
856
|
|
|
|
|
|
|
|
857
|
|
|
|
|
|
|
If passed a sub as first parameter, it will call the sub for each element found in : |
858
|
|
|
|
|
|
|
|
859
|
|
|
|
|
|
|
- Steps, passing the object as the first parameter, and the string 'Steps' as the second parameter |
860
|
|
|
|
|
|
|
|
861
|
|
|
|
|
|
|
If not, it will return a a L<Paws::EMR::ListStepsOutput> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory. |
862
|
|
|
|
|
|
|
|
863
|
|
|
|
|
|
|
|
864
|
|
|
|
|
|
|
|
865
|
|
|
|
|
|
|
|
866
|
|
|
|
|
|
|
|
867
|
|
|
|
|
|
|
=head1 SEE ALSO |
868
|
|
|
|
|
|
|
|
869
|
|
|
|
|
|
|
This service class forms part of L<Paws> |
870
|
|
|
|
|
|
|
|
871
|
|
|
|
|
|
|
=head1 BUGS and CONTRIBUTIONS |
872
|
|
|
|
|
|
|
|
873
|
|
|
|
|
|
|
The source code is located here: https://github.com/pplu/aws-sdk-perl |
874
|
|
|
|
|
|
|
|
875
|
|
|
|
|
|
|
Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues |
876
|
|
|
|
|
|
|
|
877
|
|
|
|
|
|
|
=cut |
878
|
|
|
|
|
|
|
|