42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/stax/stack/cfn.rb', line 42
def tail
trap('SIGINT', 'EXIT')
events = Aws::Cfn.events(stack_name).first(options[:number] || 1)
return unless events
print_events(events)
last_seen = events&.first&.event_id
loop do
sleep(1)
events = []
Aws::Cfn.events(stack_name).each do |e|
(last_seen == e.event_id) ? break : events << e
end
unless events.empty?
print_events(events)
last_seen = events.first.event_id
end
s = Aws::Cfn.describe(stack_name)
break if s.nil? || s.stack_status.end_with?('COMPLETE', 'FAILED')
end
rescue ::Aws::CloudFormation::Errors::ValidationError => e
puts e.message
end
|