File Coverage

blib/lib/Paws/AutoScaling/LifecycleHook.pm
Criterion Covered Total %
statement 3 3 100.0
branch n/a
condition n/a
subroutine 1 1 100.0
pod n/a
total 4 4 100.0


line stmt bran cond sub pod time code
1             package Paws::AutoScaling::LifecycleHook;
2 1     1   565 use Moose;
  1         2  
  1         9  
3             has AutoScalingGroupName => (is => 'ro', isa => 'Str');
4             has DefaultResult => (is => 'ro', isa => 'Str');
5             has GlobalTimeout => (is => 'ro', isa => 'Int');
6             has HeartbeatTimeout => (is => 'ro', isa => 'Int');
7             has LifecycleHookName => (is => 'ro', isa => 'Str');
8             has LifecycleTransition => (is => 'ro', isa => 'Str');
9             has NotificationMetadata => (is => 'ro', isa => 'Str');
10             has NotificationTargetARN => (is => 'ro', isa => 'Str');
11             has RoleARN => (is => 'ro', isa => 'Str');
12             1;
13              
14             ### main pod documentation begin ###
15              
16             =head1 NAME
17              
18             Paws::AutoScaling::LifecycleHook
19              
20             =head1 USAGE
21              
22             This class represents one of two things:
23              
24             =head3 Arguments in a call to a service
25              
26             Use the attributes of this class as arguments to methods. You shouldn't make instances of this class.
27             Each attribute should be used as a named argument in the calls that expect this type of object.
28              
29             As an example, if Att1 is expected to be a Paws::AutoScaling::LifecycleHook object:
30              
31             $service_obj->Method(Att1 => { AutoScalingGroupName => $value, ..., RoleARN => $value });
32              
33             =head3 Results returned from an API call
34              
35             Use accessors for each attribute. If Att1 is expected to be an Paws::AutoScaling::LifecycleHook object:
36              
37             $result = $service_obj->Method(...);
38             $result->Att1->AutoScalingGroupName
39              
40             =head1 DESCRIPTION
41              
42             Describes a lifecycle hook, which tells Auto Scaling that you want to
43             perform an action when an instance launches or terminates. When you
44             have a lifecycle hook in place, the Auto Scaling group will either:
45              
46             =over
47              
48             =item *
49              
50             Pause the instance after it launches, but before it is put into service
51              
52             =item *
53              
54             Pause the instance as it terminates, but before it is fully terminated
55              
56             =back
57              
58             For more information, see Auto Scaling Lifecycle in the I<Auto Scaling
59             User Guide>.
60              
61             =head1 ATTRIBUTES
62              
63              
64             =head2 AutoScalingGroupName => Str
65              
66             The name of the Auto Scaling group for the lifecycle hook.
67              
68              
69             =head2 DefaultResult => Str
70              
71             Defines the action the Auto Scaling group should take when the
72             lifecycle hook timeout elapses or if an unexpected failure occurs. The
73             valid values are C<CONTINUE> and C<ABANDON>. The default value is
74             C<CONTINUE>.
75              
76              
77             =head2 GlobalTimeout => Int
78              
79             The maximum time, in seconds, that an instance can remain in a
80             C<Pending:Wait> or C<Terminating:Wait> state. The maximum is 172800
81             seconds (48 hours) or 100 times C<HeartbeatTimeout>, whichever is
82             smaller.
83              
84              
85             =head2 HeartbeatTimeout => Int
86              
87             The maximum time, in seconds, that can elapse before the lifecycle hook
88             times out. The default is 3600 seconds (1 hour). When the lifecycle
89             hook times out, Auto Scaling performs the default action. You can
90             prevent the lifecycle hook from timing out by calling
91             RecordLifecycleActionHeartbeat.
92              
93              
94             =head2 LifecycleHookName => Str
95              
96             The name of the lifecycle hook.
97              
98              
99             =head2 LifecycleTransition => Str
100              
101             The state of the EC2 instance to which you want to attach the lifecycle
102             hook. For a list of lifecycle hook types, see
103             DescribeLifecycleHookTypes.
104              
105              
106             =head2 NotificationMetadata => Str
107              
108             Additional information that you want to include any time Auto Scaling
109             sends a message to the notification target.
110              
111              
112             =head2 NotificationTargetARN => Str
113              
114             The ARN of the notification target that Auto Scaling uses to notify you
115             when an instance is in the transition state for the lifecycle hook.
116             This ARN target can be either an SQS queue or an SNS topic. The
117             notification message sent to the target includes the following:
118              
119             =over
120              
121             =item *
122              
123             Lifecycle action token
124              
125             =item *
126              
127             User account ID
128              
129             =item *
130              
131             Name of the Auto Scaling group
132              
133             =item *
134              
135             Lifecycle hook name
136              
137             =item *
138              
139             EC2 instance ID
140              
141             =item *
142              
143             Lifecycle transition
144              
145             =item *
146              
147             Notification metadata
148              
149             =back
150              
151              
152              
153             =head2 RoleARN => Str
154              
155             The ARN of the IAM role that allows the Auto Scaling group to publish
156             to the specified notification target.
157              
158              
159              
160             =head1 SEE ALSO
161              
162             This class forms part of L<Paws>, describing an object used in L<Paws::AutoScaling>
163              
164             =head1 BUGS and CONTRIBUTIONS
165              
166             The source code is located here: https://github.com/pplu/aws-sdk-perl
167              
168             Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues
169              
170             =cut
171