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   7985 use Moose;
  1     1   2  
  1         12  
  1         1234  
  1         2  
  1         7  
3 11     11 0 46 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 about the cluster instances that Amazon EMR
593             provisions on behalf of a user when it creates the cluster. For
594             example, this operation indicates when the EC2 instances reach the
595             Ready state, when instances become available to Amazon EMR to use for
596             jobs, and the IP addresses for cluster instances, etc.
597              
598              
599             =head2 ListSecurityConfigurations([Marker => Str])
600              
601             Each argument is described in detail in: L<Paws::EMR::ListSecurityConfigurations>
602              
603             Returns: a L<Paws::EMR::ListSecurityConfigurationsOutput> instance
604              
605             Lists all the security configurations visible to this account,
606             providing their creation dates and times, and their names. This call
607             returns a maximum of 50 clusters per call, but returns a marker to
608             track the paging of the cluster list across multiple
609             ListSecurityConfigurations calls.
610              
611              
612             =head2 ListSteps(ClusterId => Str, [Marker => Str, StepIds => ArrayRef[Str|Undef], StepStates => ArrayRef[Str|Undef]])
613              
614             Each argument is described in detail in: L<Paws::EMR::ListSteps>
615              
616             Returns: a L<Paws::EMR::ListStepsOutput> instance
617              
618             Provides a list of steps for the cluster in reverse order unless you
619             specify stepIds with the request.
620              
621              
622             =head2 ModifyInstanceFleet(ClusterId => Str, InstanceFleet => L<Paws::EMR::InstanceFleetModifyConfig>)
623              
624             Each argument is described in detail in: L<Paws::EMR::ModifyInstanceFleet>
625              
626             Returns: nothing
627              
628             Modifies the target On-Demand and target Spot capacities for the
629             instance fleet with the specified InstanceFleetID within the cluster
630             specified using ClusterID. The call either succeeds or fails
631             atomically.
632              
633             The instance fleet configuration is available only in Amazon EMR
634             versions 4.8.0 and later, excluding 5.0.x versions.
635              
636              
637             =head2 ModifyInstanceGroups([ClusterId => Str, InstanceGroups => ArrayRef[L<Paws::EMR::InstanceGroupModifyConfig>]])
638              
639             Each argument is described in detail in: L<Paws::EMR::ModifyInstanceGroups>
640              
641             Returns: nothing
642              
643             ModifyInstanceGroups modifies the number of nodes and configuration
644             settings of an instance group. The input parameters include the new
645             target instance count for the group and the instance group ID. The call
646             will either succeed or fail atomically.
647              
648              
649             =head2 PutAutoScalingPolicy(AutoScalingPolicy => L<Paws::EMR::AutoScalingPolicy>, ClusterId => Str, InstanceGroupId => Str)
650              
651             Each argument is described in detail in: L<Paws::EMR::PutAutoScalingPolicy>
652              
653             Returns: a L<Paws::EMR::PutAutoScalingPolicyOutput> instance
654              
655             Creates or updates an automatic scaling policy for a core instance
656             group or task instance group in an Amazon EMR cluster. The automatic
657             scaling policy defines how an instance group dynamically adds and
658             terminates EC2 instances in response to the value of a CloudWatch
659             metric.
660              
661              
662             =head2 RemoveAutoScalingPolicy(ClusterId => Str, InstanceGroupId => Str)
663              
664             Each argument is described in detail in: L<Paws::EMR::RemoveAutoScalingPolicy>
665              
666             Returns: a L<Paws::EMR::RemoveAutoScalingPolicyOutput> instance
667              
668             Removes an automatic scaling policy from a specified instance group
669             within an EMR cluster.
670              
671              
672             =head2 RemoveTags(ResourceId => Str, TagKeys => ArrayRef[Str|Undef])
673              
674             Each argument is described in detail in: L<Paws::EMR::RemoveTags>
675              
676             Returns: a L<Paws::EMR::RemoveTagsOutput> instance
677              
678             Removes tags from an Amazon EMR resource. Tags make it easier to
679             associate clusters in various ways, such as grouping clusters to track
680             your Amazon EMR resource allocation costs. For more information, see
681             Tagging Amazon EMR Resources.
682              
683             The following example removes the stack tag with value Prod from a
684             cluster:
685              
686              
687             =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>], JobFlowRole => Str, LogUri => Str, NewSupportedProducts => ArrayRef[L<Paws::EMR::SupportedProductConfig>], ReleaseLabel => 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])
688              
689             Each argument is described in detail in: L<Paws::EMR::RunJobFlow>
690              
691             Returns: a L<Paws::EMR::RunJobFlowOutput> instance
692              
693             RunJobFlow creates and starts running a new cluster (job flow). The
694             cluster runs the steps specified. After the steps complete, the cluster
695             stops and the HDFS partition is lost. To prevent loss of data,
696             configure the last step of the job flow to store results in Amazon S3.
697             If the JobFlowInstancesConfig C<KeepJobFlowAliveWhenNoSteps> parameter
698             is set to C<TRUE>, the cluster transitions to the WAITING state rather
699             than shutting down after the steps have completed.
700              
701             For additional protection, you can set the JobFlowInstancesConfig
702             C<TerminationProtected> parameter to C<TRUE> to lock the cluster and
703             prevent it from being terminated by API call, user intervention, or in
704             the event of a job flow error.
705              
706             A maximum of 256 steps are allowed in each job flow.
707              
708             If your cluster is long-running (such as a Hive data warehouse) or
709             complex, you may require more than 256 steps to process your data. You
710             can bypass the 256-step limitation in various ways, including using the
711             SSH shell to connect to the master node and submitting queries directly
712             to the software running on the master node, such as Hive and Hadoop.
713             For more information on how to do this, see Add More than 256 Steps to
714             a Cluster in the I<Amazon EMR Management Guide>.
715              
716             For long running clusters, we recommend that you periodically store
717             your results.
718              
719             The instance fleets configuration is available only in Amazon EMR
720             versions 4.8.0 and later, excluding 5.0.x versions. The RunJobFlow
721             request can contain InstanceFleets parameters or InstanceGroups
722             parameters, but not both.
723              
724              
725             =head2 SetTerminationProtection(JobFlowIds => ArrayRef[Str|Undef], TerminationProtected => Bool)
726              
727             Each argument is described in detail in: L<Paws::EMR::SetTerminationProtection>
728              
729             Returns: nothing
730              
731             SetTerminationProtection locks a cluster (job flow) so the EC2
732             instances in the cluster cannot be terminated by user intervention, an
733             API call, or in the event of a job-flow error. The cluster still
734             terminates upon successful completion of the job flow. Calling
735             C<SetTerminationProtection> on a cluster is similar to calling the
736             Amazon EC2 C<DisableAPITermination> API on all EC2 instances in a
737             cluster.
738              
739             C<SetTerminationProtection> is used to prevent accidental termination
740             of a cluster and to ensure that in the event of an error, the instances
741             persist so that you can recover any data stored in their ephemeral
742             instance storage.
743              
744             To terminate a cluster that has been locked by setting
745             C<SetTerminationProtection> to C<true>, you must first unlock the job
746             flow by a subsequent call to C<SetTerminationProtection> in which you
747             set the value to C<false>.
748              
749             For more information, seeManaging Cluster Termination in the I<Amazon
750             EMR Management Guide>.
751              
752              
753             =head2 SetVisibleToAllUsers(JobFlowIds => ArrayRef[Str|Undef], VisibleToAllUsers => Bool)
754              
755             Each argument is described in detail in: L<Paws::EMR::SetVisibleToAllUsers>
756              
757             Returns: nothing
758              
759             Sets whether all AWS Identity and Access Management (IAM) users under
760             your account can access the specified clusters (job flows). This action
761             works on running clusters. You can also set the visibility of a cluster
762             when you launch it using the C<VisibleToAllUsers> parameter of
763             RunJobFlow. The SetVisibleToAllUsers action can be called only by an
764             IAM user who created the cluster or the AWS account that owns the
765             cluster.
766              
767              
768             =head2 TerminateJobFlows(JobFlowIds => ArrayRef[Str|Undef])
769              
770             Each argument is described in detail in: L<Paws::EMR::TerminateJobFlows>
771              
772             Returns: nothing
773              
774             TerminateJobFlows shuts a list of clusters (job flows) down. When a job
775             flow is shut down, any step not yet completed is canceled and the EC2
776             instances on which the cluster is running are stopped. Any log files
777             not already saved are uploaded to Amazon S3 if a LogUri was specified
778             when the cluster was created.
779              
780             The maximum number of clusters allowed is 10. The call to
781             C<TerminateJobFlows> is asynchronous. Depending on the configuration of
782             the cluster, it may take up to 1-5 minutes for the cluster to
783             completely terminate and release allocated resources, such as Amazon
784             EC2 instances.
785              
786              
787              
788              
789             =head1 PAGINATORS
790              
791             Paginator methods are helpers that repetively call methods that return partial results
792              
793             =head2 ListAllBootstrapActions(sub { },ClusterId => Str, [Marker => Str])
794              
795             =head2 ListAllBootstrapActions(ClusterId => Str, [Marker => Str])
796              
797              
798             If passed a sub as first parameter, it will call the sub for each element found in :
799              
800             - BootstrapActions, passing the object as the first parameter, and the string 'BootstrapActions' as the second parameter
801              
802             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.
803              
804              
805             =head2 ListAllClusters(sub { },[ClusterStates => ArrayRef[Str|Undef], CreatedAfter => Str, CreatedBefore => Str, Marker => Str])
806              
807             =head2 ListAllClusters([ClusterStates => ArrayRef[Str|Undef], CreatedAfter => Str, CreatedBefore => Str, Marker => Str])
808              
809              
810             If passed a sub as first parameter, it will call the sub for each element found in :
811              
812             - Clusters, passing the object as the first parameter, and the string 'Clusters' as the second parameter
813              
814             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.
815              
816              
817             =head2 ListAllInstanceFleets(sub { },ClusterId => Str, [Marker => Str])
818              
819             =head2 ListAllInstanceFleets(ClusterId => Str, [Marker => Str])
820              
821              
822             If passed a sub as first parameter, it will call the sub for each element found in :
823              
824             - InstanceFleets, passing the object as the first parameter, and the string 'InstanceFleets' as the second parameter
825              
826             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.
827              
828              
829             =head2 ListAllInstanceGroups(sub { },ClusterId => Str, [Marker => Str])
830              
831             =head2 ListAllInstanceGroups(ClusterId => Str, [Marker => Str])
832              
833              
834             If passed a sub as first parameter, it will call the sub for each element found in :
835              
836             - InstanceGroups, passing the object as the first parameter, and the string 'InstanceGroups' as the second parameter
837              
838             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.
839              
840              
841             =head2 ListAllInstances(sub { },ClusterId => Str, [InstanceFleetId => Str, InstanceFleetType => Str, InstanceGroupId => Str, InstanceGroupTypes => ArrayRef[Str|Undef], InstanceStates => ArrayRef[Str|Undef], Marker => Str])
842              
843             =head2 ListAllInstances(ClusterId => Str, [InstanceFleetId => Str, InstanceFleetType => Str, InstanceGroupId => Str, InstanceGroupTypes => ArrayRef[Str|Undef], InstanceStates => ArrayRef[Str|Undef], Marker => Str])
844              
845              
846             If passed a sub as first parameter, it will call the sub for each element found in :
847              
848             - Instances, passing the object as the first parameter, and the string 'Instances' as the second parameter
849              
850             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.
851              
852              
853             =head2 ListAllSteps(sub { },ClusterId => Str, [Marker => Str, StepIds => ArrayRef[Str|Undef], StepStates => ArrayRef[Str|Undef]])
854              
855             =head2 ListAllSteps(ClusterId => Str, [Marker => Str, StepIds => ArrayRef[Str|Undef], StepStates => ArrayRef[Str|Undef]])
856              
857              
858             If passed a sub as first parameter, it will call the sub for each element found in :
859              
860             - Steps, passing the object as the first parameter, and the string 'Steps' as the second parameter
861              
862             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.
863              
864              
865              
866              
867              
868             =head1 SEE ALSO
869              
870             This service class forms part of L<Paws>
871              
872             =head1 BUGS and CONTRIBUTIONS
873              
874             The source code is located here: https://github.com/pplu/aws-sdk-perl
875              
876             Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues
877              
878             =cut
879