cfn-status 0.4.6 → 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 +6 -0
- data/cfn-status.gemspec +4 -3
- data/lib/cfn_status/version.rb +1 -1
- data/lib/cfn_status.rb +13 -8
- 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,12 @@
|
|
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
|
+
|
6
12
|
## [0.4.6] - 2022-02-21
|
7
13
|
- show took time for deletion also
|
8
14
|
|
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
|
@@ -75,7 +75,7 @@ class CfnStatus
|
|
75
75
|
|
76
76
|
if last_event_status =~ /_FAILED/
|
77
77
|
puts "Stack failed: #{last_event_status}".color(:red)
|
78
|
-
puts "Stack reason #{@events
|
78
|
+
puts "Stack reason #{@events.dig(0,"resource_status_reason")}".color(:red)
|
79
79
|
elsif last_event_status =~ /_ROLLBACK_/
|
80
80
|
puts "Stack rolled back: #{last_event_status}".color(:red)
|
81
81
|
else # success
|
@@ -94,8 +94,8 @@ class CfnStatus
|
|
94
94
|
|
95
95
|
def completed
|
96
96
|
last_event_status =~ /(_COMPLETE|_FAILED)$/ &&
|
97
|
-
@events
|
98
|
-
@events
|
97
|
+
@events.dig(0,"logical_resource_id") == @stack_name &&
|
98
|
+
@events.dig(0,"resource_type") == "AWS::CloudFormation::Stack"
|
99
99
|
end
|
100
100
|
|
101
101
|
def last_event_status
|
@@ -123,7 +123,7 @@ class CfnStatus
|
|
123
123
|
print_event(e)
|
124
124
|
end
|
125
125
|
|
126
|
-
@last_shown_event_id = @events
|
126
|
+
@last_shown_event_id = @events.dig(0, "event_id")
|
127
127
|
# puts "@last_shown_event_id #{@last_shown_event_id.inspect}"
|
128
128
|
end
|
129
129
|
|
@@ -191,9 +191,14 @@ class CfnStatus
|
|
191
191
|
|
192
192
|
# Should always find a "User Initiated" stack event when @last_shown_index is not set
|
193
193
|
def start_index
|
194
|
+
start_index_before_delete = @options[:start_index_before_delete]
|
195
|
+
|
194
196
|
@events.find_index do |event|
|
197
|
+
skip = start_index_before_delete && event["resource_status"] == "DELETE_IN_PROGRESS"
|
198
|
+
|
195
199
|
event["resource_type"] == "AWS::CloudFormation::Stack" &&
|
196
|
-
event["resource_status_reason"] == "User Initiated"
|
200
|
+
event["resource_status_reason"] == "User Initiated" &&
|
201
|
+
!skip
|
197
202
|
end
|
198
203
|
end
|
199
204
|
|
@@ -204,12 +209,12 @@ class CfnStatus
|
|
204
209
|
end
|
205
210
|
|
206
211
|
def success?
|
207
|
-
resource_status = @events
|
212
|
+
resource_status = @events.dig(0,"resource_status")
|
208
213
|
%w[CREATE_COMPLETE UPDATE_COMPLETE].include?(resource_status)
|
209
214
|
end
|
210
215
|
|
211
216
|
def update_rollback?
|
212
|
-
@events
|
217
|
+
@events.dig(0,"resource_status") == "UPDATE_ROLLBACK_COMPLETE"
|
213
218
|
end
|
214
219
|
|
215
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
|