cloudfinder-ec2 0.1.2 → 0.1.3
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.
- data/cloudfinder-ec2.gemspec +1 -1
- data/lib/cloudfinder-ec2/cluster.rb +5 -0
- data/lib/cloudfinder-ec2/version.rb +1 -1
- data/spec/cloudfinder-ec2/cluster_spec.rb +10 -0
- metadata +15 -15
data/cloudfinder-ec2.gemspec
CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |gem|
|
|
19
19
|
gem.require_paths = ["lib"]
|
20
20
|
|
21
21
|
gem.add_dependency 'aws-sdk', '~>2.0'
|
22
|
-
gem.add_dependency 'slop', '~>3.
|
22
|
+
gem.add_dependency 'slop', '~>3.4'
|
23
23
|
|
24
24
|
gem.add_development_dependency 'rake'
|
25
25
|
gem.add_development_dependency 'rspec'
|
@@ -44,6 +44,11 @@ def list_roles
|
|
44
44
|
instances.group_by { |instance| instance.role }.keys
|
45
45
|
end
|
46
46
|
|
47
|
+
# @return [Array<Cloudfinder::EC2::Instance>]
|
48
|
+
def list_instances
|
49
|
+
instances
|
50
|
+
end
|
51
|
+
|
47
52
|
# @param [symbol] role
|
48
53
|
# @return [Array<Cloudfinder::EC2::Instance>]
|
49
54
|
def list_role_instances(role)
|
@@ -37,6 +37,13 @@
|
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
40
|
+
shared_examples_for 'running instances' do |instance_ids|
|
41
|
+
it 'should list array of all instances' do
|
42
|
+
found_instances = subject.list_instances.map {|instance| instance.instance_id}
|
43
|
+
expect(found_instances).to eq(instance_ids)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
40
47
|
shared_examples_for 'defined role with instances' do |role_name, instance_count|
|
41
48
|
it "should have #{role_name} role" do
|
42
49
|
expect(subject).to have_role(role_name)
|
@@ -106,6 +113,7 @@
|
|
106
113
|
include_examples 'cluster'
|
107
114
|
include_examples('undefined role', :'any other')
|
108
115
|
include_examples('undefined instance', 'i-0000002')
|
116
|
+
include_examples('running instances', ['i-0000001'])
|
109
117
|
include_examples('defined role with instances', :db, 1)
|
110
118
|
include_examples('running instance in role', :db, 0, 'i-0000001')
|
111
119
|
|
@@ -125,6 +133,7 @@
|
|
125
133
|
include_examples 'cluster'
|
126
134
|
include_examples('undefined role', :'any other')
|
127
135
|
include_examples('undefined instance', 'i-0000003')
|
136
|
+
include_examples('running instances', ['i-0000001', 'i-0000002'])
|
128
137
|
include_examples('defined role with instances', :db, 2)
|
129
138
|
include_examples('running instance in role', :db, 0, 'i-0000001')
|
130
139
|
include_examples('running instance in role', :db, 1, 'i-0000002')
|
@@ -146,6 +155,7 @@
|
|
146
155
|
include_examples 'cluster'
|
147
156
|
include_examples('undefined role', :'any other')
|
148
157
|
include_examples('undefined instance', 'i-0000004')
|
158
|
+
include_examples('running instances', ['i-0000001', 'i-0000002', 'i-0000003'])
|
149
159
|
include_examples('defined role with instances', :db, 1)
|
150
160
|
include_examples('defined role with instances', :app, 2)
|
151
161
|
include_examples('running instance in role', :db, 0, 'i-0000001')
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cloudfinder-ec2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-03-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: aws-sdk
|
16
|
-
requirement: &
|
16
|
+
requirement: &10722000 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,21 +21,21 @@ dependencies:
|
|
21
21
|
version: '2.0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *10722000
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: slop
|
27
|
-
requirement: &
|
27
|
+
requirement: &10721080 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: '3.
|
32
|
+
version: '3.4'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *10721080
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rake
|
38
|
-
requirement: &
|
38
|
+
requirement: &10720280 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *10720280
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rspec
|
49
|
-
requirement: &
|
49
|
+
requirement: &10719320 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *10719320
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: guard
|
60
|
-
requirement: &
|
60
|
+
requirement: &10718440 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *10718440
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: guard-rspec
|
71
|
-
requirement: &
|
71
|
+
requirement: &10674220 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,7 +76,7 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *10674220
|
80
80
|
description: Uses EC2 instance tags to locate all the running instances in a given
|
81
81
|
cluster, grouped by role.
|
82
82
|
email:
|