File Coverage

blib/lib/Paws/EMR.pm
Criterion Covered Total %
statement 7 200 3.5
branch 0 24 0.0
condition n/a
subroutine 3 40 7.5
pod 33 38 86.8
total 43 302 14.2


line stmt bran cond sub pod time code
1             package Paws::EMR;
2 1     1   6512 use Moose;
  1     1   4  
  1         11  
  1         1174  
  1         3  
  1         8  
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