cloudformer 0.0.11 → 0.0.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/cloudformer.gemspec +1 -0
- data/lib/cloudformer/stack.rb +4 -3
- data/lib/cloudformer/version.rb +1 -1
- data/spec/stack_spec.rb +42 -0
- metadata +20 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1a3ea4d7e5a5d60b004184dea02fa6f7b59647a5
|
4
|
+
data.tar.gz: a8a98dabb72b72f68f4fdb2cd0596acd8472af97
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e612cfe8276f8a1a7e50a73bc900a7801de0a35f35341d57806bc566efcd497feca88ffbc3e0a43ad5bae5e5aab12c28f41080057d69629a6a4d98c375936b34
|
7
|
+
data.tar.gz: 7678c2787bcc2c423285c0261a9293f8bc4f368a4e78a57b96697cea5eefb4d8e27832a018e717e6f8e5f1b475ddf52b1627278ab2f7e2be3e605c6e6f2736fa
|
data/cloudformer.gemspec
CHANGED
data/lib/cloudformer/stack.rb
CHANGED
@@ -76,7 +76,7 @@ class Stack
|
|
76
76
|
return
|
77
77
|
end
|
78
78
|
stack.events.sort_by {|a| a.timestamp}.each do |event|
|
79
|
-
puts "#{event.timestamp} - #{event.logical_resource_id} - #{event.resource_type} - #{event.resource_status} - #{event.resource_status_reason.to_s}"
|
79
|
+
puts "#{event.timestamp} - #{event.physical_resource_id.to_s} - #{event.logical_resource_id} - #{event.resource_type} - #{event.resource_status} - #{event.resource_status_reason.to_s}"
|
80
80
|
end
|
81
81
|
end
|
82
82
|
end
|
@@ -105,14 +105,15 @@ class Stack
|
|
105
105
|
private
|
106
106
|
def wait_until_end
|
107
107
|
printed = []
|
108
|
+
current_time = Time.now
|
108
109
|
with_highlight do
|
109
110
|
if !deployed
|
110
111
|
puts "Stack not up."
|
111
112
|
return
|
112
113
|
end
|
113
114
|
loop do
|
114
|
-
printable_events = stack.events.sort_by {|a| a.timestamp}.reject {|a| a if printed.include?(a.event_id)}
|
115
|
-
printable_events.each { |event| puts "#{event.timestamp} - #{event.resource_type} - #{event.resource_status} - #{event.resource_status_reason.to_s}" }
|
115
|
+
printable_events = stack.events.reject{|a| (a.timestamp < current_time)}.sort_by {|a| a.timestamp}.reject {|a| a if printed.include?(a.event_id)}
|
116
|
+
printable_events.each { |event| puts "#{event.timestamp} - #{event.physical_resource_id.to_s} - #{event.resource_type} - #{event.resource_status} - #{event.resource_status_reason.to_s}" }
|
116
117
|
printed.concat(printable_events.map(&:event_id))
|
117
118
|
break if END_STATES.include?(stack.status)
|
118
119
|
sleep(30)
|
data/lib/cloudformer/version.rb
CHANGED
data/spec/stack_spec.rb
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'cloudformer/stack'
|
2
|
+
|
3
|
+
describe Stack do
|
4
|
+
before :each do
|
5
|
+
@cf = double(AWS::CloudFormation)
|
6
|
+
@cf_stack = double(AWS::CloudFormation::Stack)
|
7
|
+
@collection = double(AWS::CloudFormation::StackCollection)
|
8
|
+
AWS::CloudFormation.should_receive(:new).and_return(@cf)
|
9
|
+
@collection.should_receive(:[]).and_return(@cf_stack)
|
10
|
+
@cf.should_receive(:stacks).and_return(@collection)
|
11
|
+
end
|
12
|
+
describe "when deployed" do
|
13
|
+
before :each do
|
14
|
+
@stack = Stack.new("stack")
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should report as the stack being deployed" do
|
18
|
+
@cf_stack.should_receive(:exists?).and_return(true)
|
19
|
+
@stack.deployed.should be
|
20
|
+
end
|
21
|
+
|
22
|
+
describe "#delete" do
|
23
|
+
it "should return a true if delete fails" do
|
24
|
+
pending
|
25
|
+
@cf_stack.should_receive(:exists?).and_return(false)
|
26
|
+
@cf_stack.should_receive(:status)
|
27
|
+
@stack.delete.should be
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
describe "when stack is not deployed" do
|
33
|
+
before :each do
|
34
|
+
@stack = Stack.new("stack")
|
35
|
+
end
|
36
|
+
|
37
|
+
it "should report as the stack not being deployed" do
|
38
|
+
@cf_stack.should_receive(:exists?).and_return(false)
|
39
|
+
@stack.deployed.should_not be
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cloudformer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arvind Kunday
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-08-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: rake
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,6 +100,7 @@ files:
|
|
86
100
|
- lib/cloudformer/version.rb
|
87
101
|
- samples/Rakefile
|
88
102
|
- samples/basic_template.json
|
103
|
+
- spec/stack_spec.rb
|
89
104
|
homepage: https://github.com/kunday/cloudformer
|
90
105
|
licenses:
|
91
106
|
- MIT
|
@@ -106,10 +121,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
106
121
|
version: '0'
|
107
122
|
requirements: []
|
108
123
|
rubyforge_project:
|
109
|
-
rubygems_version: 2.
|
124
|
+
rubygems_version: 2.2.2
|
110
125
|
signing_key:
|
111
126
|
specification_version: 4
|
112
127
|
summary: Cloudformer attempts to simplify AWS Cloudformation stack creation process
|
113
128
|
in ruby projects by providing reusable rake tasks to perform common operations such
|
114
129
|
as apply(create/update), delete, recreate on stack along with validations on templates.
|
115
|
-
test_files:
|
130
|
+
test_files:
|
131
|
+
- spec/stack_spec.rb
|