File Coverage

blib/lib/Paws/AutoScaling.pm
Criterion Covered Total %
statement 54 310 17.4
branch 0 32 0.0
condition n/a
subroutine 20 66 30.3
pod 60 64 93.7
total 134 472 28.3


line stmt bran cond sub pod time code
1             package Paws::AutoScaling;
2 1     1   2285 use Moose;
  1     3   3  
  1         9  
  3         4297  
  3         8  
  3         26  
3 27     27 0 149 sub service { 'autoscaling' }
4 2     2 0 13 sub version { '2011-01-01' }
5 5     5 0 49 sub flattened_arrays { 0 }
6             has max_attempts => (is => 'ro', isa => 'Int', default => 5);
7             has retry => (is => 'ro', isa => 'HashRef', default => sub {
8             { base => 'rand', type => 'exponential', growth_factor => 2 }
9             });
10             has retriables => (is => 'ro', isa => 'ArrayRef', default => sub { [
11             ] });
12              
13             with 'Paws::API::Caller', 'Paws::API::EndpointResolver', 'Paws::Net::V4Signature', 'Paws::Net::QueryCaller', 'Paws::Net::XMLResponse';
14              
15            
16             sub AttachInstances {
17 1     1 1 8 my $self = shift;
18 1         6 my $call_object = $self->new_with_coercions('Paws::AutoScaling::AttachInstances', @_);
19 1         888 return $self->caller->do_call($self, $call_object);
20             }
21             sub AttachLoadBalancers {
22 0     0 1 0 my $self = shift;
23 0         0 my $call_object = $self->new_with_coercions('Paws::AutoScaling::AttachLoadBalancers', @_);
24 0         0 return $self->caller->do_call($self, $call_object);
25             }
26             sub AttachLoadBalancerTargetGroups {
27 0     0 1 0 my $self = shift;
28 0         0 my $call_object = $self->new_with_coercions('Paws::AutoScaling::AttachLoadBalancerTargetGroups', @_);
29 0         0 return $self->caller->do_call($self, $call_object);
30             }
31             sub CompleteLifecycleAction {
32 0     0 1 0 my $self = shift;
33 0         0 my $call_object = $self->new_with_coercions('Paws::AutoScaling::CompleteLifecycleAction', @_);
34 0         0 return $self->caller->do_call($self, $call_object);
35             }
36             sub CreateAutoScalingGroup {
37 1     1 1 457 my $self = shift;
38 1         8 my $call_object = $self->new_with_coercions('Paws::AutoScaling::CreateAutoScalingGroup', @_);
39 1         4109 return $self->caller->do_call($self, $call_object);
40             }
41             sub CreateLaunchConfiguration {
42 0     0 1 0 my $self = shift;
43 0         0 my $call_object = $self->new_with_coercions('Paws::AutoScaling::CreateLaunchConfiguration', @_);
44 0         0 return $self->caller->do_call($self, $call_object);
45             }
46             sub CreateOrUpdateTags {
47 0     0 1 0 my $self = shift;
48 0         0 my $call_object = $self->new_with_coercions('Paws::AutoScaling::CreateOrUpdateTags', @_);
49 0         0 return $self->caller->do_call($self, $call_object);
50             }
51             sub DeleteAutoScalingGroup {
52 0     0 1 0 my $self = shift;
53 0         0 my $call_object = $self->new_with_coercions('Paws::AutoScaling::DeleteAutoScalingGroup', @_);
54 0         0 return $self->caller->do_call($self, $call_object);
55             }
56             sub DeleteLaunchConfiguration {
57 0     0 1 0 my $self = shift;
58 0         0 my $call_object = $self->new_with_coercions('Paws::AutoScaling::DeleteLaunchConfiguration', @_);
59 0         0 return $self->caller->do_call($self, $call_object);
60             }
61             sub DeleteLifecycleHook {
62 0     0 1 0 my $self = shift;
63 0         0 my $call_object = $self->new_with_coercions('Paws::AutoScaling::DeleteLifecycleHook', @_);
64 0         0 return $self->caller->do_call($self, $call_object);
65             }
66             sub DeleteNotificationConfiguration {
67 0     0 1 0 my $self = shift;
68 0         0 my $call_object = $self->new_with_coercions('Paws::AutoScaling::DeleteNotificationConfiguration', @_);
69 0         0 return $self->caller->do_call($self, $call_object);
70             }
71             sub DeletePolicy {
72 0     0 1 0 my $self = shift;
73 0         0 my $call_object = $self->new_with_coercions('Paws::AutoScaling::DeletePolicy', @_);
74 0         0 return $self->caller->do_call($self, $call_object);
75             }
76             sub DeleteScheduledAction {
77 0     0 1 0 my $self = shift;
78 0         0 my $call_object = $self->new_with_coercions('Paws::AutoScaling::DeleteScheduledAction', @_);
79 0         0 return $self->caller->do_call($self, $call_object);
80             }
81             sub DeleteTags {
82 0     0 1 0 my $self = shift;
83 0         0 my $call_object = $self->new_with_coercions('Paws::AutoScaling::DeleteTags', @_);
84 0         0 return $self->caller->do_call($self, $call_object);
85             }
86             sub DescribeAccountLimits {
87 0     0 1 0 my $self = shift;
88 0         0 my $call_object = $self->new_with_coercions('Paws::AutoScaling::DescribeAccountLimits', @_);
89 0         0 return $self->caller->do_call($self, $call_object);
90             }
91             sub DescribeAdjustmentTypes {
92 1     1 1 171 my $self = shift;
93 1         7 my $call_object = $self->new_with_coercions('Paws::AutoScaling::DescribeAdjustmentTypes', @_);
94 1         312 return $self->caller->do_call($self, $call_object);
95             }
96             sub DescribeAutoScalingGroups {
97 2     2 1 496 my $self = shift;
98 2         12 my $call_object = $self->new_with_coercions('Paws::AutoScaling::DescribeAutoScalingGroups', @_);
99 2         1030 return $self->caller->do_call($self, $call_object);
100             }
101             sub DescribeAutoScalingInstances {
102 1     1 1 255 my $self = shift;
103 1         6 my $call_object = $self->new_with_coercions('Paws::AutoScaling::DescribeAutoScalingInstances', @_);
104 1         500 return $self->caller->do_call($self, $call_object);
105             }
106             sub DescribeAutoScalingNotificationTypes {
107 1     1 1 167 my $self = shift;
108 1         6 my $call_object = $self->new_with_coercions('Paws::AutoScaling::DescribeAutoScalingNotificationTypes', @_);
109 1         299 return $self->caller->do_call($self, $call_object);
110             }
111             sub DescribeLaunchConfigurations {
112 1     1 1 257 my $self = shift;
113 1         7 my $call_object = $self->new_with_coercions('Paws::AutoScaling::DescribeLaunchConfigurations', @_);
114 1         511 return $self->caller->do_call($self, $call_object);
115             }
116             sub DescribeLifecycleHooks {
117 0     0 1 0 my $self = shift;
118 0         0 my $call_object = $self->new_with_coercions('Paws::AutoScaling::DescribeLifecycleHooks', @_);
119 0         0 return $self->caller->do_call($self, $call_object);
120             }
121             sub DescribeLifecycleHookTypes {
122 0     0 1 0 my $self = shift;
123 0         0 my $call_object = $self->new_with_coercions('Paws::AutoScaling::DescribeLifecycleHookTypes', @_);
124 0         0 return $self->caller->do_call($self, $call_object);
125             }
126             sub DescribeLoadBalancers {
127 0     0 1 0 my $self = shift;
128 0         0 my $call_object = $self->new_with_coercions('Paws::AutoScaling::DescribeLoadBalancers', @_);
129 0         0 return $self->caller->do_call($self, $call_object);
130             }
131             sub DescribeLoadBalancerTargetGroups {
132 0     0 1 0 my $self = shift;
133 0         0 my $call_object = $self->new_with_coercions('Paws::AutoScaling::DescribeLoadBalancerTargetGroups', @_);
134 0         0 return $self->caller->do_call($self, $call_object);
135             }
136             sub DescribeMetricCollectionTypes {
137 1     1 1 150 my $self = shift;
138 1         7 my $call_object = $self->new_with_coercions('Paws::AutoScaling::DescribeMetricCollectionTypes', @_);
139 1         287 return $self->caller->do_call($self, $call_object);
140             }
141             sub DescribeNotificationConfigurations {
142 1     1 1 251 my $self = shift;
143 1         6 my $call_object = $self->new_with_coercions('Paws::AutoScaling::DescribeNotificationConfigurations', @_);
144 1         497 return $self->caller->do_call($self, $call_object);
145             }
146             sub DescribePolicies {
147 1     1 1 311 my $self = shift;
148 1         7 my $call_object = $self->new_with_coercions('Paws::AutoScaling::DescribePolicies', @_);
149 1         709 return $self->caller->do_call($self, $call_object);
150             }
151             sub DescribeScalingActivities {
152 1     1 1 278 my $self = shift;
153 1         7 my $call_object = $self->new_with_coercions('Paws::AutoScaling::DescribeScalingActivities', @_);
154 1         606 return $self->caller->do_call($self, $call_object);
155             }
156             sub DescribeScalingProcessTypes {
157 1     1 1 159 my $self = shift;
158 1         7 my $call_object = $self->new_with_coercions('Paws::AutoScaling::DescribeScalingProcessTypes', @_);
159 1         297 return $self->caller->do_call($self, $call_object);
160             }
161             sub DescribeScheduledActions {
162 1     1 1 344 my $self = shift;
163 1         6 my $call_object = $self->new_with_coercions('Paws::AutoScaling::DescribeScheduledActions', @_);
164 1         856 return $self->caller->do_call($self, $call_object);
165             }
166             sub DescribeTags {
167 1     1 1 240 my $self = shift;
168 1         6 my $call_object = $self->new_with_coercions('Paws::AutoScaling::DescribeTags', @_);
169 1         494 return $self->caller->do_call($self, $call_object);
170             }
171             sub DescribeTerminationPolicyTypes {
172 1     1 1 144 my $self = shift;
173 1         6 my $call_object = $self->new_with_coercions('Paws::AutoScaling::DescribeTerminationPolicyTypes', @_);
174 1         295 return $self->caller->do_call($self, $call_object);
175             }
176             sub DetachInstances {
177 0     0 1   my $self = shift;
178 0           my $call_object = $self->new_with_coercions('Paws::AutoScaling::DetachInstances', @_);
179 0           return $self->caller->do_call($self, $call_object);
180             }
181             sub DetachLoadBalancers {
182 0     0 1   my $self = shift;
183 0           my $call_object = $self->new_with_coercions('Paws::AutoScaling::DetachLoadBalancers', @_);
184 0           return $self->caller->do_call($self, $call_object);
185             }
186             sub DetachLoadBalancerTargetGroups {
187 0     0 1   my $self = shift;
188 0           my $call_object = $self->new_with_coercions('Paws::AutoScaling::DetachLoadBalancerTargetGroups', @_);
189 0           return $self->caller->do_call($self, $call_object);
190             }
191             sub DisableMetricsCollection {
192 0     0 1   my $self = shift;
193 0           my $call_object = $self->new_with_coercions('Paws::AutoScaling::DisableMetricsCollection', @_);
194 0           return $self->caller->do_call($self, $call_object);
195             }
196             sub EnableMetricsCollection {
197 0     0 1   my $self = shift;
198 0           my $call_object = $self->new_with_coercions('Paws::AutoScaling::EnableMetricsCollection', @_);
199 0           return $self->caller->do_call($self, $call_object);
200             }
201             sub EnterStandby {
202 0     0 1   my $self = shift;
203 0           my $call_object = $self->new_with_coercions('Paws::AutoScaling::EnterStandby', @_);
204 0           return $self->caller->do_call($self, $call_object);
205             }
206             sub ExecutePolicy {
207 0     0 1   my $self = shift;
208 0           my $call_object = $self->new_with_coercions('Paws::AutoScaling::ExecutePolicy', @_);
209 0           return $self->caller->do_call($self, $call_object);
210             }
211             sub ExitStandby {
212 0     0 1   my $self = shift;
213 0           my $call_object = $self->new_with_coercions('Paws::AutoScaling::ExitStandby', @_);
214 0           return $self->caller->do_call($self, $call_object);
215             }
216             sub PutLifecycleHook {
217 0     0 1   my $self = shift;
218 0           my $call_object = $self->new_with_coercions('Paws::AutoScaling::PutLifecycleHook', @_);
219 0           return $self->caller->do_call($self, $call_object);
220             }
221             sub PutNotificationConfiguration {
222 0     0 1   my $self = shift;
223 0           my $call_object = $self->new_with_coercions('Paws::AutoScaling::PutNotificationConfiguration', @_);
224 0           return $self->caller->do_call($self, $call_object);
225             }
226             sub PutScalingPolicy {
227 0     0 1   my $self = shift;
228 0           my $call_object = $self->new_with_coercions('Paws::AutoScaling::PutScalingPolicy', @_);
229 0           return $self->caller->do_call($self, $call_object);
230             }
231             sub PutScheduledUpdateGroupAction {
232 0     0 1   my $self = shift;
233 0           my $call_object = $self->new_with_coercions('Paws::AutoScaling::PutScheduledUpdateGroupAction', @_);
234 0           return $self->caller->do_call($self, $call_object);
235             }
236             sub RecordLifecycleActionHeartbeat {
237 0     0 1   my $self = shift;
238 0           my $call_object = $self->new_with_coercions('Paws::AutoScaling::RecordLifecycleActionHeartbeat', @_);
239 0           return $self->caller->do_call($self, $call_object);
240             }
241             sub ResumeProcesses {
242 0     0 1   my $self = shift;
243 0           my $call_object = $self->new_with_coercions('Paws::AutoScaling::ResumeProcesses', @_);
244 0           return $self->caller->do_call($self, $call_object);
245             }
246             sub SetDesiredCapacity {
247 0     0 1   my $self = shift;
248 0           my $call_object = $self->new_with_coercions('Paws::AutoScaling::SetDesiredCapacity', @_);
249 0           return $self->caller->do_call($self, $call_object);
250             }
251             sub SetInstanceHealth {
252 0     0 1   my $self = shift;
253 0           my $call_object = $self->new_with_coercions('Paws::AutoScaling::SetInstanceHealth', @_);
254 0           return $self->caller->do_call($self, $call_object);
255             }
256             sub SetInstanceProtection {
257 0     0 1   my $self = shift;
258 0           my $call_object = $self->new_with_coercions('Paws::AutoScaling::SetInstanceProtection', @_);
259 0           return $self->caller->do_call($self, $call_object);
260             }
261             sub SuspendProcesses {
262 0     0 1   my $self = shift;
263 0           my $call_object = $self->new_with_coercions('Paws::AutoScaling::SuspendProcesses', @_);
264 0           return $self->caller->do_call($self, $call_object);
265             }
266             sub TerminateInstanceInAutoScalingGroup {
267 0     0 1   my $self = shift;
268 0           my $call_object = $self->new_with_coercions('Paws::AutoScaling::TerminateInstanceInAutoScalingGroup', @_);
269 0           return $self->caller->do_call($self, $call_object);
270             }
271             sub UpdateAutoScalingGroup {
272 0     0 1   my $self = shift;
273 0           my $call_object = $self->new_with_coercions('Paws::AutoScaling::UpdateAutoScalingGroup', @_);
274 0           return $self->caller->do_call($self, $call_object);
275             }
276            
277             sub DescribeAllAutoScalingGroups {
278 0     0 1   my $self = shift;
279              
280 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
281 0           my $result = $self->DescribeAutoScalingGroups(@_);
282 0           my $next_result = $result;
283              
284 0 0         if (not defined $callback) {
285 0           while ($next_result->NextToken) {
286 0           $next_result = $self->DescribeAutoScalingGroups(@_, NextToken => $next_result->NextToken);
287 0           push @{ $result->AutoScalingGroups }, @{ $next_result->AutoScalingGroups };
  0            
  0            
288             }
289 0           return $result;
290             } else {
291 0           while ($result->NextToken) {
292 0           $callback->($_ => 'AutoScalingGroups') foreach (@{ $result->AutoScalingGroups });
  0            
293 0           $result = $self->DescribeAutoScalingGroups(@_, NextToken => $result->NextToken);
294             }
295 0           $callback->($_ => 'AutoScalingGroups') foreach (@{ $result->AutoScalingGroups });
  0            
296             }
297              
298             return undef
299 0           }
300             sub DescribeAllAutoScalingInstances {
301 0     0 1   my $self = shift;
302              
303 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
304 0           my $result = $self->DescribeAutoScalingInstances(@_);
305 0           my $next_result = $result;
306              
307 0 0         if (not defined $callback) {
308 0           while ($next_result->NextToken) {
309 0           $next_result = $self->DescribeAutoScalingInstances(@_, NextToken => $next_result->NextToken);
310 0           push @{ $result->AutoScalingInstances }, @{ $next_result->AutoScalingInstances };
  0            
  0            
311             }
312 0           return $result;
313             } else {
314 0           while ($result->NextToken) {
315 0           $callback->($_ => 'AutoScalingInstances') foreach (@{ $result->AutoScalingInstances });
  0            
316 0           $result = $self->DescribeAutoScalingInstances(@_, NextToken => $result->NextToken);
317             }
318 0           $callback->($_ => 'AutoScalingInstances') foreach (@{ $result->AutoScalingInstances });
  0            
319             }
320              
321             return undef
322 0           }
323             sub DescribeAllLaunchConfigurations {
324 0     0 1   my $self = shift;
325              
326 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
327 0           my $result = $self->DescribeLaunchConfigurations(@_);
328 0           my $next_result = $result;
329              
330 0 0         if (not defined $callback) {
331 0           while ($next_result->NextToken) {
332 0           $next_result = $self->DescribeLaunchConfigurations(@_, NextToken => $next_result->NextToken);
333 0           push @{ $result->LaunchConfigurations }, @{ $next_result->LaunchConfigurations };
  0            
  0            
334             }
335 0           return $result;
336             } else {
337 0           while ($result->NextToken) {
338 0           $callback->($_ => 'LaunchConfigurations') foreach (@{ $result->LaunchConfigurations });
  0            
339 0           $result = $self->DescribeLaunchConfigurations(@_, NextToken => $result->NextToken);
340             }
341 0           $callback->($_ => 'LaunchConfigurations') foreach (@{ $result->LaunchConfigurations });
  0            
342             }
343              
344             return undef
345 0           }
346             sub DescribeAllNotificationConfigurations {
347 0     0 1   my $self = shift;
348              
349 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
350 0           my $result = $self->DescribeNotificationConfigurations(@_);
351 0           my $next_result = $result;
352              
353 0 0         if (not defined $callback) {
354 0           while ($next_result->NextToken) {
355 0           $next_result = $self->DescribeNotificationConfigurations(@_, NextToken => $next_result->NextToken);
356 0           push @{ $result->NotificationConfigurations }, @{ $next_result->NotificationConfigurations };
  0            
  0            
357             }
358 0           return $result;
359             } else {
360 0           while ($result->NextToken) {
361 0           $callback->($_ => 'NotificationConfigurations') foreach (@{ $result->NotificationConfigurations });
  0            
362 0           $result = $self->DescribeNotificationConfigurations(@_, NextToken => $result->NextToken);
363             }
364 0           $callback->($_ => 'NotificationConfigurations') foreach (@{ $result->NotificationConfigurations });
  0            
365             }
366              
367             return undef
368 0           }
369             sub DescribeAllPolicies {
370 0     0 1   my $self = shift;
371              
372 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
373 0           my $result = $self->DescribePolicies(@_);
374 0           my $next_result = $result;
375              
376 0 0         if (not defined $callback) {
377 0           while ($next_result->NextToken) {
378 0           $next_result = $self->DescribePolicies(@_, NextToken => $next_result->NextToken);
379 0           push @{ $result->ScalingPolicies }, @{ $next_result->ScalingPolicies };
  0            
  0            
380             }
381 0           return $result;
382             } else {
383 0           while ($result->NextToken) {
384 0           $callback->($_ => 'ScalingPolicies') foreach (@{ $result->ScalingPolicies });
  0            
385 0           $result = $self->DescribePolicies(@_, NextToken => $result->NextToken);
386             }
387 0           $callback->($_ => 'ScalingPolicies') foreach (@{ $result->ScalingPolicies });
  0            
388             }
389              
390             return undef
391 0           }
392             sub DescribeAllScalingActivities {
393 0     0 1   my $self = shift;
394              
395 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
396 0           my $result = $self->DescribeScalingActivities(@_);
397 0           my $next_result = $result;
398              
399 0 0         if (not defined $callback) {
400 0           while ($next_result->NextToken) {
401 0           $next_result = $self->DescribeScalingActivities(@_, NextToken => $next_result->NextToken);
402 0           push @{ $result->Activities }, @{ $next_result->Activities };
  0            
  0            
403             }
404 0           return $result;
405             } else {
406 0           while ($result->NextToken) {
407 0           $callback->($_ => 'Activities') foreach (@{ $result->Activities });
  0            
408 0           $result = $self->DescribeScalingActivities(@_, NextToken => $result->NextToken);
409             }
410 0           $callback->($_ => 'Activities') foreach (@{ $result->Activities });
  0            
411             }
412              
413             return undef
414 0           }
415             sub DescribeAllScheduledActions {
416 0     0 1   my $self = shift;
417              
418 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
419 0           my $result = $self->DescribeScheduledActions(@_);
420 0           my $next_result = $result;
421              
422 0 0         if (not defined $callback) {
423 0           while ($next_result->NextToken) {
424 0           $next_result = $self->DescribeScheduledActions(@_, NextToken => $next_result->NextToken);
425 0           push @{ $result->ScheduledUpdateGroupActions }, @{ $next_result->ScheduledUpdateGroupActions };
  0            
  0            
426             }
427 0           return $result;
428             } else {
429 0           while ($result->NextToken) {
430 0           $callback->($_ => 'ScheduledUpdateGroupActions') foreach (@{ $result->ScheduledUpdateGroupActions });
  0            
431 0           $result = $self->DescribeScheduledActions(@_, NextToken => $result->NextToken);
432             }
433 0           $callback->($_ => 'ScheduledUpdateGroupActions') foreach (@{ $result->ScheduledUpdateGroupActions });
  0            
434             }
435              
436             return undef
437 0           }
438             sub DescribeAllTags {
439 0     0 1   my $self = shift;
440              
441 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
442 0           my $result = $self->DescribeTags(@_);
443 0           my $next_result = $result;
444              
445 0 0         if (not defined $callback) {
446 0           while ($next_result->NextToken) {
447 0           $next_result = $self->DescribeTags(@_, NextToken => $next_result->NextToken);
448 0           push @{ $result->Tags }, @{ $next_result->Tags };
  0            
  0            
449             }
450 0           return $result;
451             } else {
452 0           while ($result->NextToken) {
453 0           $callback->($_ => 'Tags') foreach (@{ $result->Tags });
  0            
454 0           $result = $self->DescribeTags(@_, NextToken => $result->NextToken);
455             }
456 0           $callback->($_ => 'Tags') foreach (@{ $result->Tags });
  0            
457             }
458              
459             return undef
460 0           }
461              
462              
463 0     0 0   sub operations { qw/AttachInstances AttachLoadBalancers AttachLoadBalancerTargetGroups CompleteLifecycleAction CreateAutoScalingGroup CreateLaunchConfiguration CreateOrUpdateTags DeleteAutoScalingGroup DeleteLaunchConfiguration DeleteLifecycleHook DeleteNotificationConfiguration DeletePolicy DeleteScheduledAction DeleteTags DescribeAccountLimits DescribeAdjustmentTypes DescribeAutoScalingGroups DescribeAutoScalingInstances DescribeAutoScalingNotificationTypes DescribeLaunchConfigurations DescribeLifecycleHooks DescribeLifecycleHookTypes DescribeLoadBalancers DescribeLoadBalancerTargetGroups DescribeMetricCollectionTypes DescribeNotificationConfigurations DescribePolicies DescribeScalingActivities DescribeScalingProcessTypes DescribeScheduledActions DescribeTags DescribeTerminationPolicyTypes DetachInstances DetachLoadBalancers DetachLoadBalancerTargetGroups DisableMetricsCollection EnableMetricsCollection EnterStandby ExecutePolicy ExitStandby PutLifecycleHook PutNotificationConfiguration PutScalingPolicy PutScheduledUpdateGroupAction RecordLifecycleActionHeartbeat ResumeProcesses SetDesiredCapacity SetInstanceHealth SetInstanceProtection SuspendProcesses TerminateInstanceInAutoScalingGroup UpdateAutoScalingGroup / }
464              
465             1;
466              
467             ### main pod documentation begin ###
468              
469             =head1 NAME
470              
471             Paws::AutoScaling - Perl Interface to AWS Auto Scaling
472              
473             =head1 SYNOPSIS
474              
475             use Paws;
476              
477             my $obj = Paws->service('AutoScaling');
478             my $res = $obj->Method(
479             Arg1 => $val1,
480             Arg2 => [ 'V1', 'V2' ],
481             # if Arg3 is an object, the HashRef will be used as arguments to the constructor
482             # of the arguments type
483             Arg3 => { Att1 => 'Val1' },
484             # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
485             # the constructor of the arguments type
486             Arg4 => [ { Att1 => 'Val1' }, { Att1 => 'Val2' } ],
487             );
488              
489             =head1 DESCRIPTION
490              
491             Auto Scaling
492              
493             Auto Scaling is designed to automatically launch or terminate EC2
494             instances based on user-defined policies, schedules, and health checks.
495             Use this service in conjunction with the Amazon CloudWatch and Elastic
496             Load Balancing services.
497              
498             =head1 METHODS
499              
500             =head2 AttachInstances(AutoScalingGroupName => Str, [InstanceIds => ArrayRef[Str|Undef]])
501              
502             Each argument is described in detail in: L<Paws::AutoScaling::AttachInstances>
503              
504             Returns: nothing
505              
506             Attaches one or more EC2 instances to the specified Auto Scaling group.
507              
508             When you attach instances, Auto Scaling increases the desired capacity
509             of the group by the number of instances being attached. If the number
510             of instances being attached plus the desired capacity of the group
511             exceeds the maximum size of the group, the operation fails.
512              
513             If there is a Classic Load Balancer attached to your Auto Scaling
514             group, the instances are also registered with the load balancer. If
515             there are target groups attached to your Auto Scaling group, the
516             instances are also registered with the target groups.
517              
518             For more information, see Attach EC2 Instances to Your Auto Scaling
519             Group in the I<Auto Scaling User Guide>.
520              
521              
522             =head2 AttachLoadBalancers(AutoScalingGroupName => Str, LoadBalancerNames => ArrayRef[Str|Undef])
523              
524             Each argument is described in detail in: L<Paws::AutoScaling::AttachLoadBalancers>
525              
526             Returns: a L<Paws::AutoScaling::AttachLoadBalancersResultType> instance
527              
528             Attaches one or more Classic Load Balancers to the specified Auto
529             Scaling group.
530              
531             To attach an Application Load Balancer instead, see
532             AttachLoadBalancerTargetGroups.
533              
534             To describe the load balancers for an Auto Scaling group, use
535             DescribeLoadBalancers. To detach the load balancer from the Auto
536             Scaling group, use DetachLoadBalancers.
537              
538             For more information, see Attach a Load Balancer to Your Auto Scaling
539             Group in the I<Auto Scaling User Guide>.
540              
541              
542             =head2 AttachLoadBalancerTargetGroups(AutoScalingGroupName => Str, TargetGroupARNs => ArrayRef[Str|Undef])
543              
544             Each argument is described in detail in: L<Paws::AutoScaling::AttachLoadBalancerTargetGroups>
545              
546             Returns: a L<Paws::AutoScaling::AttachLoadBalancerTargetGroupsResultType> instance
547              
548             Attaches one or more target groups to the specified Auto Scaling group.
549              
550             To describe the target groups for an Auto Scaling group, use
551             DescribeLoadBalancerTargetGroups. To detach the target group from the
552             Auto Scaling group, use DetachLoadBalancerTargetGroups.
553              
554             For more information, see Attach a Load Balancer to Your Auto Scaling
555             Group in the I<Auto Scaling User Guide>.
556              
557              
558             =head2 CompleteLifecycleAction(AutoScalingGroupName => Str, LifecycleActionResult => Str, LifecycleHookName => Str, [InstanceId => Str, LifecycleActionToken => Str])
559              
560             Each argument is described in detail in: L<Paws::AutoScaling::CompleteLifecycleAction>
561              
562             Returns: a L<Paws::AutoScaling::CompleteLifecycleActionAnswer> instance
563              
564             Completes the lifecycle action for the specified token or instance with
565             the specified result.
566              
567             This step is a part of the procedure for adding a lifecycle hook to an
568             Auto Scaling group:
569              
570             =over
571              
572             =item 1.
573              
574             (Optional) Create a Lambda function and a rule that allows CloudWatch
575             Events to invoke your Lambda function when Auto Scaling launches or
576             terminates instances.
577              
578             =item 2.
579              
580             (Optional) Create a notification target and an IAM role. The target can
581             be either an Amazon SQS queue or an Amazon SNS topic. The role allows
582             Auto Scaling to publish lifecycle notifications to the target.
583              
584             =item 3.
585              
586             Create the lifecycle hook. Specify whether the hook is used when the
587             instances launch or terminate.
588              
589             =item 4.
590              
591             If you need more time, record the lifecycle action heartbeat to keep
592             the instance in a pending state.
593              
594             =item 5.
595              
596             B<If you finish before the timeout period ends, complete the lifecycle
597             action.>
598              
599             =back
600              
601             For more information, see Auto Scaling Lifecycle in the I<Auto Scaling
602             User Guide>.
603              
604              
605             =head2 CreateAutoScalingGroup(AutoScalingGroupName => Str, MaxSize => Int, MinSize => Int, [AvailabilityZones => ArrayRef[Str|Undef], DefaultCooldown => Int, DesiredCapacity => Int, HealthCheckGracePeriod => Int, HealthCheckType => Str, InstanceId => Str, LaunchConfigurationName => Str, LifecycleHookSpecificationList => ArrayRef[L<Paws::AutoScaling::LifecycleHookSpecification>], LoadBalancerNames => ArrayRef[Str|Undef], NewInstancesProtectedFromScaleIn => Bool, PlacementGroup => Str, Tags => ArrayRef[L<Paws::AutoScaling::Tag>], TargetGroupARNs => ArrayRef[Str|Undef], TerminationPolicies => ArrayRef[Str|Undef], VPCZoneIdentifier => Str])
606              
607             Each argument is described in detail in: L<Paws::AutoScaling::CreateAutoScalingGroup>
608              
609             Returns: nothing
610              
611             Creates an Auto Scaling group with the specified name and attributes.
612              
613             If you exceed your maximum limit of Auto Scaling groups, which by
614             default is 20 per region, the call fails. For information about viewing
615             and updating this limit, see DescribeAccountLimits.
616              
617             For more information, see Auto Scaling Groups in the I<Auto Scaling
618             User Guide>.
619              
620              
621             =head2 CreateLaunchConfiguration(LaunchConfigurationName => Str, [AssociatePublicIpAddress => Bool, BlockDeviceMappings => ArrayRef[L<Paws::AutoScaling::BlockDeviceMapping>], ClassicLinkVPCId => Str, ClassicLinkVPCSecurityGroups => ArrayRef[Str|Undef], EbsOptimized => Bool, IamInstanceProfile => Str, ImageId => Str, InstanceId => Str, InstanceMonitoring => L<Paws::AutoScaling::InstanceMonitoring>, InstanceType => Str, KernelId => Str, KeyName => Str, PlacementTenancy => Str, RamdiskId => Str, SecurityGroups => ArrayRef[Str|Undef], SpotPrice => Str, UserData => Str])
622              
623             Each argument is described in detail in: L<Paws::AutoScaling::CreateLaunchConfiguration>
624              
625             Returns: nothing
626              
627             Creates a launch configuration.
628              
629             If you exceed your maximum limit of launch configurations, which by
630             default is 100 per region, the call fails. For information about
631             viewing and updating this limit, see DescribeAccountLimits.
632              
633             For more information, see Launch Configurations in the I<Auto Scaling
634             User Guide>.
635              
636              
637             =head2 CreateOrUpdateTags(Tags => ArrayRef[L<Paws::AutoScaling::Tag>])
638              
639             Each argument is described in detail in: L<Paws::AutoScaling::CreateOrUpdateTags>
640              
641             Returns: nothing
642              
643             Creates or updates tags for the specified Auto Scaling group.
644              
645             When you specify a tag with a key that already exists, the operation
646             overwrites the previous tag definition, and you do not get an error
647             message.
648              
649             For more information, see Tagging Auto Scaling Groups and Instances in
650             the I<Auto Scaling User Guide>.
651              
652              
653             =head2 DeleteAutoScalingGroup(AutoScalingGroupName => Str, [ForceDelete => Bool])
654              
655             Each argument is described in detail in: L<Paws::AutoScaling::DeleteAutoScalingGroup>
656              
657             Returns: nothing
658              
659             Deletes the specified Auto Scaling group.
660              
661             If the group has instances or scaling activities in progress, you must
662             specify the option to force the deletion in order for it to succeed.
663              
664             If the group has policies, deleting the group deletes the policies, the
665             underlying alarm actions, and any alarm that no longer has an
666             associated action.
667              
668             To remove instances from the Auto Scaling group before deleting it,
669             call DetachInstances with the list of instances and the option to
670             decrement the desired capacity so that Auto Scaling does not launch
671             replacement instances.
672              
673             To terminate all instances before deleting the Auto Scaling group, call
674             UpdateAutoScalingGroup and set the minimum size and desired capacity of
675             the Auto Scaling group to zero.
676              
677              
678             =head2 DeleteLaunchConfiguration(LaunchConfigurationName => Str)
679              
680             Each argument is described in detail in: L<Paws::AutoScaling::DeleteLaunchConfiguration>
681              
682             Returns: nothing
683              
684             Deletes the specified launch configuration.
685              
686             The launch configuration must not be attached to an Auto Scaling group.
687             When this call completes, the launch configuration is no longer
688             available for use.
689              
690              
691             =head2 DeleteLifecycleHook(AutoScalingGroupName => Str, LifecycleHookName => Str)
692              
693             Each argument is described in detail in: L<Paws::AutoScaling::DeleteLifecycleHook>
694              
695             Returns: a L<Paws::AutoScaling::DeleteLifecycleHookAnswer> instance
696              
697             Deletes the specified lifecycle hook.
698              
699             If there are any outstanding lifecycle actions, they are completed
700             first (C<ABANDON> for launching instances, C<CONTINUE> for terminating
701             instances).
702              
703              
704             =head2 DeleteNotificationConfiguration(AutoScalingGroupName => Str, TopicARN => Str)
705              
706             Each argument is described in detail in: L<Paws::AutoScaling::DeleteNotificationConfiguration>
707              
708             Returns: nothing
709              
710             Deletes the specified notification.
711              
712              
713             =head2 DeletePolicy(PolicyName => Str, [AutoScalingGroupName => Str])
714              
715             Each argument is described in detail in: L<Paws::AutoScaling::DeletePolicy>
716              
717             Returns: nothing
718              
719             Deletes the specified Auto Scaling policy.
720              
721             Deleting a policy deletes the underlying alarm action, but does not
722             delete the alarm, even if it no longer has an associated action.
723              
724              
725             =head2 DeleteScheduledAction(AutoScalingGroupName => Str, ScheduledActionName => Str)
726              
727             Each argument is described in detail in: L<Paws::AutoScaling::DeleteScheduledAction>
728              
729             Returns: nothing
730              
731             Deletes the specified scheduled action.
732              
733              
734             =head2 DeleteTags(Tags => ArrayRef[L<Paws::AutoScaling::Tag>])
735              
736             Each argument is described in detail in: L<Paws::AutoScaling::DeleteTags>
737              
738             Returns: nothing
739              
740             Deletes the specified tags.
741              
742              
743             =head2 DescribeAccountLimits( => )
744              
745             Each argument is described in detail in: L<Paws::AutoScaling::DescribeAccountLimits>
746              
747             Returns: a L<Paws::AutoScaling::DescribeAccountLimitsAnswer> instance
748              
749             Describes the current Auto Scaling resource limits for your AWS
750             account.
751              
752             For information about requesting an increase in these limits, see AWS
753             Service Limits in the I<Amazon Web Services General Reference>.
754              
755              
756             =head2 DescribeAdjustmentTypes( => )
757              
758             Each argument is described in detail in: L<Paws::AutoScaling::DescribeAdjustmentTypes>
759              
760             Returns: a L<Paws::AutoScaling::DescribeAdjustmentTypesAnswer> instance
761              
762             Describes the policy adjustment types for use with PutScalingPolicy.
763              
764              
765             =head2 DescribeAutoScalingGroups([AutoScalingGroupNames => ArrayRef[Str|Undef], MaxRecords => Int, NextToken => Str])
766              
767             Each argument is described in detail in: L<Paws::AutoScaling::DescribeAutoScalingGroups>
768              
769             Returns: a L<Paws::AutoScaling::AutoScalingGroupsType> instance
770              
771             Describes one or more Auto Scaling groups.
772              
773              
774             =head2 DescribeAutoScalingInstances([InstanceIds => ArrayRef[Str|Undef], MaxRecords => Int, NextToken => Str])
775              
776             Each argument is described in detail in: L<Paws::AutoScaling::DescribeAutoScalingInstances>
777              
778             Returns: a L<Paws::AutoScaling::AutoScalingInstancesType> instance
779              
780             Describes one or more Auto Scaling instances.
781              
782              
783             =head2 DescribeAutoScalingNotificationTypes( => )
784              
785             Each argument is described in detail in: L<Paws::AutoScaling::DescribeAutoScalingNotificationTypes>
786              
787             Returns: a L<Paws::AutoScaling::DescribeAutoScalingNotificationTypesAnswer> instance
788              
789             Describes the notification types that are supported by Auto Scaling.
790              
791              
792             =head2 DescribeLaunchConfigurations([LaunchConfigurationNames => ArrayRef[Str|Undef], MaxRecords => Int, NextToken => Str])
793              
794             Each argument is described in detail in: L<Paws::AutoScaling::DescribeLaunchConfigurations>
795              
796             Returns: a L<Paws::AutoScaling::LaunchConfigurationsType> instance
797              
798             Describes one or more launch configurations.
799              
800              
801             =head2 DescribeLifecycleHooks(AutoScalingGroupName => Str, [LifecycleHookNames => ArrayRef[Str|Undef]])
802              
803             Each argument is described in detail in: L<Paws::AutoScaling::DescribeLifecycleHooks>
804              
805             Returns: a L<Paws::AutoScaling::DescribeLifecycleHooksAnswer> instance
806              
807             Describes the lifecycle hooks for the specified Auto Scaling group.
808              
809              
810             =head2 DescribeLifecycleHookTypes( => )
811              
812             Each argument is described in detail in: L<Paws::AutoScaling::DescribeLifecycleHookTypes>
813              
814             Returns: a L<Paws::AutoScaling::DescribeLifecycleHookTypesAnswer> instance
815              
816             Describes the available types of lifecycle hooks.
817              
818              
819             =head2 DescribeLoadBalancers(AutoScalingGroupName => Str, [MaxRecords => Int, NextToken => Str])
820              
821             Each argument is described in detail in: L<Paws::AutoScaling::DescribeLoadBalancers>
822              
823             Returns: a L<Paws::AutoScaling::DescribeLoadBalancersResponse> instance
824              
825             Describes the load balancers for the specified Auto Scaling group.
826              
827             Note that this operation describes only Classic Load Balancers. If you
828             have Application Load Balancers, use DescribeLoadBalancerTargetGroups
829             instead.
830              
831              
832             =head2 DescribeLoadBalancerTargetGroups(AutoScalingGroupName => Str, [MaxRecords => Int, NextToken => Str])
833              
834             Each argument is described in detail in: L<Paws::AutoScaling::DescribeLoadBalancerTargetGroups>
835              
836             Returns: a L<Paws::AutoScaling::DescribeLoadBalancerTargetGroupsResponse> instance
837              
838             Describes the target groups for the specified Auto Scaling group.
839              
840              
841             =head2 DescribeMetricCollectionTypes( => )
842              
843             Each argument is described in detail in: L<Paws::AutoScaling::DescribeMetricCollectionTypes>
844              
845             Returns: a L<Paws::AutoScaling::DescribeMetricCollectionTypesAnswer> instance
846              
847             Describes the available CloudWatch metrics for Auto Scaling.
848              
849             Note that the C<GroupStandbyInstances> metric is not returned by
850             default. You must explicitly request this metric when calling
851             EnableMetricsCollection.
852              
853              
854             =head2 DescribeNotificationConfigurations([AutoScalingGroupNames => ArrayRef[Str|Undef], MaxRecords => Int, NextToken => Str])
855              
856             Each argument is described in detail in: L<Paws::AutoScaling::DescribeNotificationConfigurations>
857              
858             Returns: a L<Paws::AutoScaling::DescribeNotificationConfigurationsAnswer> instance
859              
860             Describes the notification actions associated with the specified Auto
861             Scaling group.
862              
863              
864             =head2 DescribePolicies([AutoScalingGroupName => Str, MaxRecords => Int, NextToken => Str, PolicyNames => ArrayRef[Str|Undef], PolicyTypes => ArrayRef[Str|Undef]])
865              
866             Each argument is described in detail in: L<Paws::AutoScaling::DescribePolicies>
867              
868             Returns: a L<Paws::AutoScaling::PoliciesType> instance
869              
870             Describes the policies for the specified Auto Scaling group.
871              
872              
873             =head2 DescribeScalingActivities([ActivityIds => ArrayRef[Str|Undef], AutoScalingGroupName => Str, MaxRecords => Int, NextToken => Str])
874              
875             Each argument is described in detail in: L<Paws::AutoScaling::DescribeScalingActivities>
876              
877             Returns: a L<Paws::AutoScaling::ActivitiesType> instance
878              
879             Describes one or more scaling activities for the specified Auto Scaling
880             group.
881              
882              
883             =head2 DescribeScalingProcessTypes( => )
884              
885             Each argument is described in detail in: L<Paws::AutoScaling::DescribeScalingProcessTypes>
886              
887             Returns: a L<Paws::AutoScaling::ProcessesType> instance
888              
889             Describes the scaling process types for use with ResumeProcesses and
890             SuspendProcesses.
891              
892              
893             =head2 DescribeScheduledActions([AutoScalingGroupName => Str, EndTime => Str, MaxRecords => Int, NextToken => Str, ScheduledActionNames => ArrayRef[Str|Undef], StartTime => Str])
894              
895             Each argument is described in detail in: L<Paws::AutoScaling::DescribeScheduledActions>
896              
897             Returns: a L<Paws::AutoScaling::ScheduledActionsType> instance
898              
899             Describes the actions scheduled for your Auto Scaling group that
900             haven't run. To describe the actions that have already run, use
901             DescribeScalingActivities.
902              
903              
904             =head2 DescribeTags([Filters => ArrayRef[L<Paws::AutoScaling::Filter>], MaxRecords => Int, NextToken => Str])
905              
906             Each argument is described in detail in: L<Paws::AutoScaling::DescribeTags>
907              
908             Returns: a L<Paws::AutoScaling::TagsType> instance
909              
910             Describes the specified tags.
911              
912             You can use filters to limit the results. For example, you can query
913             for the tags for a specific Auto Scaling group. You can specify
914             multiple values for a filter. A tag must match at least one of the
915             specified values for it to be included in the results.
916              
917             You can also specify multiple filters. The result includes information
918             for a particular tag only if it matches all the filters. If there's no
919             match, no special message is returned.
920              
921              
922             =head2 DescribeTerminationPolicyTypes( => )
923              
924             Each argument is described in detail in: L<Paws::AutoScaling::DescribeTerminationPolicyTypes>
925              
926             Returns: a L<Paws::AutoScaling::DescribeTerminationPolicyTypesAnswer> instance
927              
928             Describes the termination policies supported by Auto Scaling.
929              
930              
931             =head2 DetachInstances(AutoScalingGroupName => Str, ShouldDecrementDesiredCapacity => Bool, [InstanceIds => ArrayRef[Str|Undef]])
932              
933             Each argument is described in detail in: L<Paws::AutoScaling::DetachInstances>
934              
935             Returns: a L<Paws::AutoScaling::DetachInstancesAnswer> instance
936              
937             Removes one or more instances from the specified Auto Scaling group.
938              
939             After the instances are detached, you can manage them independent of
940             the Auto Scaling group.
941              
942             If you do not specify the option to decrement the desired capacity,
943             Auto Scaling launches instances to replace the ones that are detached.
944              
945             If there is a Classic Load Balancer attached to the Auto Scaling group,
946             the instances are deregistered from the load balancer. If there are
947             target groups attached to the Auto Scaling group, the instances are
948             deregistered from the target groups.
949              
950             For more information, see Detach EC2 Instances from Your Auto Scaling
951             Group in the I<Auto Scaling User Guide>.
952              
953              
954             =head2 DetachLoadBalancers(AutoScalingGroupName => Str, LoadBalancerNames => ArrayRef[Str|Undef])
955              
956             Each argument is described in detail in: L<Paws::AutoScaling::DetachLoadBalancers>
957              
958             Returns: a L<Paws::AutoScaling::DetachLoadBalancersResultType> instance
959              
960             Detaches one or more Classic Load Balancers from the specified Auto
961             Scaling group.
962              
963             Note that this operation detaches only Classic Load Balancers. If you
964             have Application Load Balancers, use DetachLoadBalancerTargetGroups
965             instead.
966              
967             When you detach a load balancer, it enters the C<Removing> state while
968             deregistering the instances in the group. When all instances are
969             deregistered, then you can no longer describe the load balancer using
970             DescribeLoadBalancers. Note that the instances remain running.
971              
972              
973             =head2 DetachLoadBalancerTargetGroups(AutoScalingGroupName => Str, TargetGroupARNs => ArrayRef[Str|Undef])
974              
975             Each argument is described in detail in: L<Paws::AutoScaling::DetachLoadBalancerTargetGroups>
976              
977             Returns: a L<Paws::AutoScaling::DetachLoadBalancerTargetGroupsResultType> instance
978              
979             Detaches one or more target groups from the specified Auto Scaling
980             group.
981              
982              
983             =head2 DisableMetricsCollection(AutoScalingGroupName => Str, [Metrics => ArrayRef[Str|Undef]])
984              
985             Each argument is described in detail in: L<Paws::AutoScaling::DisableMetricsCollection>
986              
987             Returns: nothing
988              
989             Disables group metrics for the specified Auto Scaling group.
990              
991              
992             =head2 EnableMetricsCollection(AutoScalingGroupName => Str, Granularity => Str, [Metrics => ArrayRef[Str|Undef]])
993              
994             Each argument is described in detail in: L<Paws::AutoScaling::EnableMetricsCollection>
995              
996             Returns: nothing
997              
998             Enables group metrics for the specified Auto Scaling group. For more
999             information, see Monitoring Your Auto Scaling Groups and Instances in
1000             the I<Auto Scaling User Guide>.
1001              
1002              
1003             =head2 EnterStandby(AutoScalingGroupName => Str, ShouldDecrementDesiredCapacity => Bool, [InstanceIds => ArrayRef[Str|Undef]])
1004              
1005             Each argument is described in detail in: L<Paws::AutoScaling::EnterStandby>
1006              
1007             Returns: a L<Paws::AutoScaling::EnterStandbyAnswer> instance
1008              
1009             Moves the specified instances into the standby state.
1010              
1011             For more information, see Temporarily Removing Instances from Your Auto
1012             Scaling Group in the I<Auto Scaling User Guide>.
1013              
1014              
1015             =head2 ExecutePolicy(PolicyName => Str, [AutoScalingGroupName => Str, BreachThreshold => Num, HonorCooldown => Bool, MetricValue => Num])
1016              
1017             Each argument is described in detail in: L<Paws::AutoScaling::ExecutePolicy>
1018              
1019             Returns: nothing
1020              
1021             Executes the specified policy.
1022              
1023              
1024             =head2 ExitStandby(AutoScalingGroupName => Str, [InstanceIds => ArrayRef[Str|Undef]])
1025              
1026             Each argument is described in detail in: L<Paws::AutoScaling::ExitStandby>
1027              
1028             Returns: a L<Paws::AutoScaling::ExitStandbyAnswer> instance
1029              
1030             Moves the specified instances out of the standby state.
1031              
1032             For more information, see Temporarily Removing Instances from Your Auto
1033             Scaling Group in the I<Auto Scaling User Guide>.
1034              
1035              
1036             =head2 PutLifecycleHook(AutoScalingGroupName => Str, LifecycleHookName => Str, [DefaultResult => Str, HeartbeatTimeout => Int, LifecycleTransition => Str, NotificationMetadata => Str, NotificationTargetARN => Str, RoleARN => Str])
1037              
1038             Each argument is described in detail in: L<Paws::AutoScaling::PutLifecycleHook>
1039              
1040             Returns: a L<Paws::AutoScaling::PutLifecycleHookAnswer> instance
1041              
1042             Creates or updates a lifecycle hook for the specified Auto Scaling
1043             Group.
1044              
1045             A lifecycle hook tells Auto Scaling that you want to perform an action
1046             on an instance that is not actively in service; for example, either
1047             when the instance launches or before the instance terminates.
1048              
1049             This step is a part of the procedure for adding a lifecycle hook to an
1050             Auto Scaling group:
1051              
1052             =over
1053              
1054             =item 1.
1055              
1056             (Optional) Create a Lambda function and a rule that allows CloudWatch
1057             Events to invoke your Lambda function when Auto Scaling launches or
1058             terminates instances.
1059              
1060             =item 2.
1061              
1062             (Optional) Create a notification target and an IAM role. The target can
1063             be either an Amazon SQS queue or an Amazon SNS topic. The role allows
1064             Auto Scaling to publish lifecycle notifications to the target.
1065              
1066             =item 3.
1067              
1068             B<Create the lifecycle hook. Specify whether the hook is used when the
1069             instances launch or terminate.>
1070              
1071             =item 4.
1072              
1073             If you need more time, record the lifecycle action heartbeat to keep
1074             the instance in a pending state.
1075              
1076             =item 5.
1077              
1078             If you finish before the timeout period ends, complete the lifecycle
1079             action.
1080              
1081             =back
1082              
1083             For more information, see Auto Scaling Lifecycle Hooks in the I<Auto
1084             Scaling User Guide>.
1085              
1086             If you exceed your maximum limit of lifecycle hooks, which by default
1087             is 50 per Auto Scaling group, the call fails. For information about
1088             updating this limit, see AWS Service Limits in the I<Amazon Web
1089             Services General Reference>.
1090              
1091              
1092             =head2 PutNotificationConfiguration(AutoScalingGroupName => Str, NotificationTypes => ArrayRef[Str|Undef], TopicARN => Str)
1093              
1094             Each argument is described in detail in: L<Paws::AutoScaling::PutNotificationConfiguration>
1095              
1096             Returns: nothing
1097              
1098             Configures an Auto Scaling group to send notifications when specified
1099             events take place. Subscribers to the specified topic can have messages
1100             delivered to an endpoint such as a web server or an email address.
1101              
1102             This configuration overwrites any existing configuration.
1103              
1104             For more information see Getting SNS Notifications When Your Auto
1105             Scaling Group Scales in the I<Auto Scaling User Guide>.
1106              
1107              
1108             =head2 PutScalingPolicy(AutoScalingGroupName => Str, PolicyName => Str, [AdjustmentType => Str, Cooldown => Int, EstimatedInstanceWarmup => Int, MetricAggregationType => Str, MinAdjustmentMagnitude => Int, MinAdjustmentStep => Int, PolicyType => Str, ScalingAdjustment => Int, StepAdjustments => ArrayRef[L<Paws::AutoScaling::StepAdjustment>], TargetTrackingConfiguration => L<Paws::AutoScaling::TargetTrackingConfiguration>])
1109              
1110             Each argument is described in detail in: L<Paws::AutoScaling::PutScalingPolicy>
1111              
1112             Returns: a L<Paws::AutoScaling::PolicyARNType> instance
1113              
1114             Creates or updates a policy for an Auto Scaling group. To update an
1115             existing policy, use the existing policy name and set the parameters
1116             you want to change. Any existing parameter not changed in an update to
1117             an existing policy is not changed in this update request.
1118              
1119             If you exceed your maximum limit of step adjustments, which by default
1120             is 20 per region, the call fails. For information about updating this
1121             limit, see AWS Service Limits in the I<Amazon Web Services General
1122             Reference>.
1123              
1124              
1125             =head2 PutScheduledUpdateGroupAction(AutoScalingGroupName => Str, ScheduledActionName => Str, [DesiredCapacity => Int, EndTime => Str, MaxSize => Int, MinSize => Int, Recurrence => Str, StartTime => Str, Time => Str])
1126              
1127             Each argument is described in detail in: L<Paws::AutoScaling::PutScheduledUpdateGroupAction>
1128              
1129             Returns: nothing
1130              
1131             Creates or updates a scheduled scaling action for an Auto Scaling
1132             group. When updating a scheduled scaling action, if you leave a
1133             parameter unspecified, the corresponding value remains unchanged.
1134              
1135             For more information, see Scheduled Scaling in the I<Auto Scaling User
1136             Guide>.
1137              
1138              
1139             =head2 RecordLifecycleActionHeartbeat(AutoScalingGroupName => Str, LifecycleHookName => Str, [InstanceId => Str, LifecycleActionToken => Str])
1140              
1141             Each argument is described in detail in: L<Paws::AutoScaling::RecordLifecycleActionHeartbeat>
1142              
1143             Returns: a L<Paws::AutoScaling::RecordLifecycleActionHeartbeatAnswer> instance
1144              
1145             Records a heartbeat for the lifecycle action associated with the
1146             specified token or instance. This extends the timeout by the length of
1147             time defined using PutLifecycleHook.
1148              
1149             This step is a part of the procedure for adding a lifecycle hook to an
1150             Auto Scaling group:
1151              
1152             =over
1153              
1154             =item 1.
1155              
1156             (Optional) Create a Lambda function and a rule that allows CloudWatch
1157             Events to invoke your Lambda function when Auto Scaling launches or
1158             terminates instances.
1159              
1160             =item 2.
1161              
1162             (Optional) Create a notification target and an IAM role. The target can
1163             be either an Amazon SQS queue or an Amazon SNS topic. The role allows
1164             Auto Scaling to publish lifecycle notifications to the target.
1165              
1166             =item 3.
1167              
1168             Create the lifecycle hook. Specify whether the hook is used when the
1169             instances launch or terminate.
1170              
1171             =item 4.
1172              
1173             B<If you need more time, record the lifecycle action heartbeat to keep
1174             the instance in a pending state.>
1175              
1176             =item 5.
1177              
1178             If you finish before the timeout period ends, complete the lifecycle
1179             action.
1180              
1181             =back
1182              
1183             For more information, see Auto Scaling Lifecycle in the I<Auto Scaling
1184             User Guide>.
1185              
1186              
1187             =head2 ResumeProcesses(AutoScalingGroupName => Str, [ScalingProcesses => ArrayRef[Str|Undef]])
1188              
1189             Each argument is described in detail in: L<Paws::AutoScaling::ResumeProcesses>
1190              
1191             Returns: nothing
1192              
1193             Resumes the specified suspended Auto Scaling processes, or all
1194             suspended process, for the specified Auto Scaling group.
1195              
1196             For more information, see Suspending and Resuming Auto Scaling
1197             Processes in the I<Auto Scaling User Guide>.
1198              
1199              
1200             =head2 SetDesiredCapacity(AutoScalingGroupName => Str, DesiredCapacity => Int, [HonorCooldown => Bool])
1201              
1202             Each argument is described in detail in: L<Paws::AutoScaling::SetDesiredCapacity>
1203              
1204             Returns: nothing
1205              
1206             Sets the size of the specified Auto Scaling group.
1207              
1208             For more information about desired capacity, see What Is Auto Scaling?
1209             in the I<Auto Scaling User Guide>.
1210              
1211              
1212             =head2 SetInstanceHealth(HealthStatus => Str, InstanceId => Str, [ShouldRespectGracePeriod => Bool])
1213              
1214             Each argument is described in detail in: L<Paws::AutoScaling::SetInstanceHealth>
1215              
1216             Returns: nothing
1217              
1218             Sets the health status of the specified instance.
1219              
1220             For more information, see Health Checks in the I<Auto Scaling User
1221             Guide>.
1222              
1223              
1224             =head2 SetInstanceProtection(AutoScalingGroupName => Str, InstanceIds => ArrayRef[Str|Undef], ProtectedFromScaleIn => Bool)
1225              
1226             Each argument is described in detail in: L<Paws::AutoScaling::SetInstanceProtection>
1227              
1228             Returns: a L<Paws::AutoScaling::SetInstanceProtectionAnswer> instance
1229              
1230             Updates the instance protection settings of the specified instances.
1231              
1232             For more information, see Instance Protection in the I<Auto Scaling
1233             User Guide>.
1234              
1235              
1236             =head2 SuspendProcesses(AutoScalingGroupName => Str, [ScalingProcesses => ArrayRef[Str|Undef]])
1237              
1238             Each argument is described in detail in: L<Paws::AutoScaling::SuspendProcesses>
1239              
1240             Returns: nothing
1241              
1242             Suspends the specified Auto Scaling processes, or all processes, for
1243             the specified Auto Scaling group.
1244              
1245             Note that if you suspend either the C<Launch> or C<Terminate> process
1246             types, it can prevent other process types from functioning properly.
1247              
1248             To resume processes that have been suspended, use ResumeProcesses.
1249              
1250             For more information, see Suspending and Resuming Auto Scaling
1251             Processes in the I<Auto Scaling User Guide>.
1252              
1253              
1254             =head2 TerminateInstanceInAutoScalingGroup(InstanceId => Str, ShouldDecrementDesiredCapacity => Bool)
1255              
1256             Each argument is described in detail in: L<Paws::AutoScaling::TerminateInstanceInAutoScalingGroup>
1257              
1258             Returns: a L<Paws::AutoScaling::ActivityType> instance
1259              
1260             Terminates the specified instance and optionally adjusts the desired
1261             group size.
1262              
1263             This call simply makes a termination request. The instance is not
1264             terminated immediately.
1265              
1266              
1267             =head2 UpdateAutoScalingGroup(AutoScalingGroupName => Str, [AvailabilityZones => ArrayRef[Str|Undef], DefaultCooldown => Int, DesiredCapacity => Int, HealthCheckGracePeriod => Int, HealthCheckType => Str, LaunchConfigurationName => Str, MaxSize => Int, MinSize => Int, NewInstancesProtectedFromScaleIn => Bool, PlacementGroup => Str, TerminationPolicies => ArrayRef[Str|Undef], VPCZoneIdentifier => Str])
1268              
1269             Each argument is described in detail in: L<Paws::AutoScaling::UpdateAutoScalingGroup>
1270              
1271             Returns: nothing
1272              
1273             Updates the configuration for the specified Auto Scaling group.
1274              
1275             The new settings take effect on any scaling activities after this call
1276             returns. Scaling activities that are currently in progress aren't
1277             affected.
1278              
1279             To update an Auto Scaling group with a launch configuration with
1280             C<InstanceMonitoring> set to C<false>, you must first disable the
1281             collection of group metrics. Otherwise, you will get an error. If you
1282             have previously enabled the collection of group metrics, you can
1283             disable it using DisableMetricsCollection.
1284              
1285             Note the following:
1286              
1287             =over
1288              
1289             =item *
1290              
1291             If you specify a new value for C<MinSize> without specifying a value
1292             for C<DesiredCapacity>, and the new C<MinSize> is larger than the
1293             current size of the group, we implicitly call SetDesiredCapacity to set
1294             the size of the group to the new value of C<MinSize>.
1295              
1296             =item *
1297              
1298             If you specify a new value for C<MaxSize> without specifying a value
1299             for C<DesiredCapacity>, and the new C<MaxSize> is smaller than the
1300             current size of the group, we implicitly call SetDesiredCapacity to set
1301             the size of the group to the new value of C<MaxSize>.
1302              
1303             =item *
1304              
1305             All other optional parameters are left unchanged if not specified.
1306              
1307             =back
1308              
1309              
1310              
1311              
1312              
1313             =head1 PAGINATORS
1314              
1315             Paginator methods are helpers that repetively call methods that return partial results
1316              
1317             =head2 DescribeAllAutoScalingGroups(sub { },[AutoScalingGroupNames => ArrayRef[Str|Undef], MaxRecords => Int, NextToken => Str])
1318              
1319             =head2 DescribeAllAutoScalingGroups([AutoScalingGroupNames => ArrayRef[Str|Undef], MaxRecords => Int, NextToken => Str])
1320              
1321              
1322             If passed a sub as first parameter, it will call the sub for each element found in :
1323              
1324             - AutoScalingGroups, passing the object as the first parameter, and the string 'AutoScalingGroups' as the second parameter
1325              
1326             If not, it will return a a L<Paws::AutoScaling::AutoScalingGroupsType> 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.
1327              
1328              
1329             =head2 DescribeAllAutoScalingInstances(sub { },[InstanceIds => ArrayRef[Str|Undef], MaxRecords => Int, NextToken => Str])
1330              
1331             =head2 DescribeAllAutoScalingInstances([InstanceIds => ArrayRef[Str|Undef], MaxRecords => Int, NextToken => Str])
1332              
1333              
1334             If passed a sub as first parameter, it will call the sub for each element found in :
1335              
1336             - AutoScalingInstances, passing the object as the first parameter, and the string 'AutoScalingInstances' as the second parameter
1337              
1338             If not, it will return a a L<Paws::AutoScaling::AutoScalingInstancesType> 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.
1339              
1340              
1341             =head2 DescribeAllLaunchConfigurations(sub { },[LaunchConfigurationNames => ArrayRef[Str|Undef], MaxRecords => Int, NextToken => Str])
1342              
1343             =head2 DescribeAllLaunchConfigurations([LaunchConfigurationNames => ArrayRef[Str|Undef], MaxRecords => Int, NextToken => Str])
1344              
1345              
1346             If passed a sub as first parameter, it will call the sub for each element found in :
1347              
1348             - LaunchConfigurations, passing the object as the first parameter, and the string 'LaunchConfigurations' as the second parameter
1349              
1350             If not, it will return a a L<Paws::AutoScaling::LaunchConfigurationsType> 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.
1351              
1352              
1353             =head2 DescribeAllNotificationConfigurations(sub { },[AutoScalingGroupNames => ArrayRef[Str|Undef], MaxRecords => Int, NextToken => Str])
1354              
1355             =head2 DescribeAllNotificationConfigurations([AutoScalingGroupNames => ArrayRef[Str|Undef], MaxRecords => Int, NextToken => Str])
1356              
1357              
1358             If passed a sub as first parameter, it will call the sub for each element found in :
1359              
1360             - NotificationConfigurations, passing the object as the first parameter, and the string 'NotificationConfigurations' as the second parameter
1361              
1362             If not, it will return a a L<Paws::AutoScaling::DescribeNotificationConfigurationsAnswer> 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.
1363              
1364              
1365             =head2 DescribeAllPolicies(sub { },[AutoScalingGroupName => Str, MaxRecords => Int, NextToken => Str, PolicyNames => ArrayRef[Str|Undef], PolicyTypes => ArrayRef[Str|Undef]])
1366              
1367             =head2 DescribeAllPolicies([AutoScalingGroupName => Str, MaxRecords => Int, NextToken => Str, PolicyNames => ArrayRef[Str|Undef], PolicyTypes => ArrayRef[Str|Undef]])
1368              
1369              
1370             If passed a sub as first parameter, it will call the sub for each element found in :
1371              
1372             - ScalingPolicies, passing the object as the first parameter, and the string 'ScalingPolicies' as the second parameter
1373              
1374             If not, it will return a a L<Paws::AutoScaling::PoliciesType> 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.
1375              
1376              
1377             =head2 DescribeAllScalingActivities(sub { },[ActivityIds => ArrayRef[Str|Undef], AutoScalingGroupName => Str, MaxRecords => Int, NextToken => Str])
1378              
1379             =head2 DescribeAllScalingActivities([ActivityIds => ArrayRef[Str|Undef], AutoScalingGroupName => Str, MaxRecords => Int, NextToken => Str])
1380              
1381              
1382             If passed a sub as first parameter, it will call the sub for each element found in :
1383              
1384             - Activities, passing the object as the first parameter, and the string 'Activities' as the second parameter
1385              
1386             If not, it will return a a L<Paws::AutoScaling::ActivitiesType> 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.
1387              
1388              
1389             =head2 DescribeAllScheduledActions(sub { },[AutoScalingGroupName => Str, EndTime => Str, MaxRecords => Int, NextToken => Str, ScheduledActionNames => ArrayRef[Str|Undef], StartTime => Str])
1390              
1391             =head2 DescribeAllScheduledActions([AutoScalingGroupName => Str, EndTime => Str, MaxRecords => Int, NextToken => Str, ScheduledActionNames => ArrayRef[Str|Undef], StartTime => Str])
1392              
1393              
1394             If passed a sub as first parameter, it will call the sub for each element found in :
1395              
1396             - ScheduledUpdateGroupActions, passing the object as the first parameter, and the string 'ScheduledUpdateGroupActions' as the second parameter
1397              
1398             If not, it will return a a L<Paws::AutoScaling::ScheduledActionsType> 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.
1399              
1400              
1401             =head2 DescribeAllTags(sub { },[Filters => ArrayRef[L<Paws::AutoScaling::Filter>], MaxRecords => Int, NextToken => Str])
1402              
1403             =head2 DescribeAllTags([Filters => ArrayRef[L<Paws::AutoScaling::Filter>], MaxRecords => Int, NextToken => Str])
1404              
1405              
1406             If passed a sub as first parameter, it will call the sub for each element found in :
1407              
1408             - Tags, passing the object as the first parameter, and the string 'Tags' as the second parameter
1409              
1410             If not, it will return a a L<Paws::AutoScaling::TagsType> 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.
1411              
1412              
1413              
1414              
1415              
1416             =head1 SEE ALSO
1417              
1418             This service class forms part of L<Paws>
1419              
1420             =head1 BUGS and CONTRIBUTIONS
1421              
1422             The source code is located here: https://github.com/pplu/aws-sdk-perl
1423              
1424             Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues
1425              
1426             =cut
1427