cfn-status 0.4.5 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -0
- data/cfn-status.gemspec +4 -3
- data/lib/cfn_status/version.rb +1 -1
- data/lib/cfn_status.rb +20 -10
- metadata +27 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8995a22b702f88f6b8474940ff4cedcad0ed03f5959662f858b20597b3b7bd75
|
4
|
+
data.tar.gz: 9d0a502a23754203bfdc2a7043c587b168379fc0419b2849cb76374525c9516b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 39b82b43b28f88fc08b784a6c595d27f553f641add1f27f0ae207de62182b05269fbba62f0c094d84da918b8cf450d4ffa8d050fb73a73a63bbdbda957cd7d2e
|
7
|
+
data.tar.gz: f6c0b78894e28f66285c9bafb6c48775c4e13dc72d2c5908c3168368c6cf4d571ab66e464b5f9bdebc7b48ab9166f88fbd8090164fe85a3ace2624af2557e589
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,15 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
This project *loosely* adheres to [Semantic Versioning](http://semver.org/), even before v1.0.
|
5
5
|
|
6
|
+
## [0.5.0] - 2023-12-17
|
7
|
+
- [#6](https://github.com/tongueroo/cfn-status/pull/6) Use events.dig instead of brackets
|
8
|
+
- [#7](https://github.com/tongueroo/cfn-status/pull/7) Add start_index_before_delete option
|
9
|
+
- add add_development_dependency nokogiri
|
10
|
+
- improve dev dependency version pins
|
11
|
+
|
12
|
+
## [0.4.6] - 2022-02-21
|
13
|
+
- show took time for deletion also
|
14
|
+
|
6
15
|
## [0.4.5] - 2022-02-20
|
7
16
|
- [#5](https://github.com/tongueroo/cfn-status/pull/5) cfn-status retry options
|
8
17
|
|
data/cfn-status.gemspec
CHANGED
@@ -24,7 +24,8 @@ Gem::Specification.new do |spec|
|
|
24
24
|
|
25
25
|
spec.add_dependency "aws-sdk-cloudformation"
|
26
26
|
|
27
|
-
spec.add_development_dependency "
|
28
|
-
spec.add_development_dependency "
|
29
|
-
spec.add_development_dependency "
|
27
|
+
spec.add_development_dependency "nokogiri"
|
28
|
+
spec.add_development_dependency "bundler"
|
29
|
+
spec.add_development_dependency "rake", ">= 12.3.3"
|
30
|
+
spec.add_development_dependency "rspec", ">= 3.0"
|
30
31
|
end
|
data/lib/cfn_status/version.rb
CHANGED
data/lib/cfn_status.rb
CHANGED
@@ -23,7 +23,7 @@ class CfnStatus
|
|
23
23
|
return true
|
24
24
|
end
|
25
25
|
|
26
|
-
puts "
|
26
|
+
puts "Stack #{@stack_name.color(:green)} Status: #{stack.stack_status.color(:green)}"
|
27
27
|
if in_progress?
|
28
28
|
puts "Stack events (tailing):"
|
29
29
|
# tail all events until done
|
@@ -66,6 +66,7 @@ class CfnStatus
|
|
66
66
|
|
67
67
|
if @stack_deletion_completed
|
68
68
|
puts "Stack #{@stack_name} deleted."
|
69
|
+
show_took(start_time)
|
69
70
|
return
|
70
71
|
end
|
71
72
|
|
@@ -74,7 +75,7 @@ class CfnStatus
|
|
74
75
|
|
75
76
|
if last_event_status =~ /_FAILED/
|
76
77
|
puts "Stack failed: #{last_event_status}".color(:red)
|
77
|
-
puts "Stack reason #{@events
|
78
|
+
puts "Stack reason #{@events.dig(0,"resource_status_reason")}".color(:red)
|
78
79
|
elsif last_event_status =~ /_ROLLBACK_/
|
79
80
|
puts "Stack rolled back: #{last_event_status}".color(:red)
|
80
81
|
else # success
|
@@ -82,15 +83,19 @@ class CfnStatus
|
|
82
83
|
end
|
83
84
|
|
84
85
|
return if @hide_time_took # set in run
|
85
|
-
|
86
|
-
puts "Time took: #{pretty_time(took).color(:green)}."
|
86
|
+
show_took(start_time)
|
87
87
|
success?
|
88
88
|
end
|
89
89
|
|
90
|
+
def show_took(start_time)
|
91
|
+
took = Time.now - start_time
|
92
|
+
puts "Time took: #{pretty_time(took).color(:green)}"
|
93
|
+
end
|
94
|
+
|
90
95
|
def completed
|
91
96
|
last_event_status =~ /(_COMPLETE|_FAILED)$/ &&
|
92
|
-
@events
|
93
|
-
@events
|
97
|
+
@events.dig(0,"logical_resource_id") == @stack_name &&
|
98
|
+
@events.dig(0,"resource_type") == "AWS::CloudFormation::Stack"
|
94
99
|
end
|
95
100
|
|
96
101
|
def last_event_status
|
@@ -118,7 +123,7 @@ class CfnStatus
|
|
118
123
|
print_event(e)
|
119
124
|
end
|
120
125
|
|
121
|
-
@last_shown_event_id = @events
|
126
|
+
@last_shown_event_id = @events.dig(0, "event_id")
|
122
127
|
# puts "@last_shown_event_id #{@last_shown_event_id.inspect}"
|
123
128
|
end
|
124
129
|
|
@@ -186,9 +191,14 @@ class CfnStatus
|
|
186
191
|
|
187
192
|
# Should always find a "User Initiated" stack event when @last_shown_index is not set
|
188
193
|
def start_index
|
194
|
+
start_index_before_delete = @options[:start_index_before_delete]
|
195
|
+
|
189
196
|
@events.find_index do |event|
|
197
|
+
skip = start_index_before_delete && event["resource_status"] == "DELETE_IN_PROGRESS"
|
198
|
+
|
190
199
|
event["resource_type"] == "AWS::CloudFormation::Stack" &&
|
191
|
-
event["resource_status_reason"] == "User Initiated"
|
200
|
+
event["resource_status_reason"] == "User Initiated" &&
|
201
|
+
!skip
|
192
202
|
end
|
193
203
|
end
|
194
204
|
|
@@ -199,12 +209,12 @@ class CfnStatus
|
|
199
209
|
end
|
200
210
|
|
201
211
|
def success?
|
202
|
-
resource_status = @events
|
212
|
+
resource_status = @events.dig(0,"resource_status")
|
203
213
|
%w[CREATE_COMPLETE UPDATE_COMPLETE].include?(resource_status)
|
204
214
|
end
|
205
215
|
|
206
216
|
def update_rollback?
|
207
|
-
@events
|
217
|
+
@events.dig(0,"resource_status") == "UPDATE_ROLLBACK_COMPLETE"
|
208
218
|
end
|
209
219
|
|
210
220
|
def find_update_failed_event
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cfn-status
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tung Nguyen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-12-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-cloudformation
|
@@ -24,46 +24,60 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: nokogiri
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: bundler
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
30
44
|
requirements:
|
31
|
-
- - "
|
45
|
+
- - ">="
|
32
46
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
47
|
+
version: '0'
|
34
48
|
type: :development
|
35
49
|
prerelease: false
|
36
50
|
version_requirements: !ruby/object:Gem::Requirement
|
37
51
|
requirements:
|
38
|
-
- - "
|
52
|
+
- - ">="
|
39
53
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
54
|
+
version: '0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: rake
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
44
58
|
requirements:
|
45
|
-
- - "
|
59
|
+
- - ">="
|
46
60
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
61
|
+
version: 12.3.3
|
48
62
|
type: :development
|
49
63
|
prerelease: false
|
50
64
|
version_requirements: !ruby/object:Gem::Requirement
|
51
65
|
requirements:
|
52
|
-
- - "
|
66
|
+
- - ">="
|
53
67
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
68
|
+
version: 12.3.3
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: rspec
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
|
-
- - "
|
73
|
+
- - ">="
|
60
74
|
- !ruby/object:Gem::Version
|
61
75
|
version: '3.0'
|
62
76
|
type: :development
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
|
-
- - "
|
80
|
+
- - ">="
|
67
81
|
- !ruby/object:Gem::Version
|
68
82
|
version: '3.0'
|
69
83
|
description:
|
@@ -108,7 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
108
122
|
- !ruby/object:Gem::Version
|
109
123
|
version: '0'
|
110
124
|
requirements: []
|
111
|
-
rubygems_version: 3.
|
125
|
+
rubygems_version: 3.4.20
|
112
126
|
signing_key:
|
113
127
|
specification_version: 4
|
114
128
|
summary: CloudFormation status library
|