cloudfinder-ec2 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,30 @@
1
+ describe Cloudfinder::EC2::Instance do
2
+ let (:initial_data) { {
3
+ :instance_id => 'i-12345678',
4
+ :public_ip => '123.123.123.123',
5
+ :public_dns => 'ec2-123-123-123-123.amazon.com',
6
+ :private_ip => '127.0.0.123',
7
+ :private_dns => 'ec2-127-0-0-123.amazon.internal',
8
+ :role => :db
9
+ }}
10
+
11
+ subject { Cloudfinder::EC2::Instance.new(initial_data) }
12
+
13
+ context "when created with valid data" do
14
+ [:instance_id, :public_ip, :private_ip, :public_dns, :private_dns, :role].each do | attribute |
15
+ it "should provide read-only access to #{attribute}" do
16
+ expect(subject).to have_attributes(attribute => initial_data[attribute])
17
+ expect { subject.method("#{attribute}=").call('foo') }.to raise_error(NameError)
18
+ end
19
+
20
+ it "should enforce immutability on #{attribute}" do
21
+ value = subject.method("#{attribute}").call
22
+ expect { value << 'foo' }.to raise_error
23
+ end
24
+
25
+ it "should include #{attribute} in hash representation" do
26
+ expect(subject.to_hash[attribute]).to eq initial_data[attribute]
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,5 @@
1
+ require 'spec_helper'
2
+
3
+ describe Cloudfinder::EC2 do
4
+ it { should be_a(Module) }
5
+ end
@@ -0,0 +1,15 @@
1
+ require 'cloudfinder-ec2'
2
+ require 'coveralls'
3
+ Coveralls.wear!
4
+
5
+ RSpec.configure do |config|
6
+ config.run_all_when_everything_filtered = true
7
+ config.filter_run :focus
8
+
9
+ # Run specs in random order to surface order dependencies. If you find an
10
+ # order dependency and want to debug it, you can fix the order by providing
11
+ # the seed, which is printed after each run.
12
+ # --seed 1234
13
+ config.order = 'random'
14
+
15
+ end
metadata ADDED
@@ -0,0 +1,149 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cloudfinder-ec2
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Andrew Coulton
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2015-02-28 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: aws-sdk
16
+ requirement: &5940440 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '2.0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *5940440
25
+ - !ruby/object:Gem::Dependency
26
+ name: slop
27
+ requirement: &5939460 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: '3.6'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *5939460
36
+ - !ruby/object:Gem::Dependency
37
+ name: rake
38
+ requirement: &5938160 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *5938160
47
+ - !ruby/object:Gem::Dependency
48
+ name: rspec
49
+ requirement: &5936980 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *5936980
58
+ - !ruby/object:Gem::Dependency
59
+ name: guard
60
+ requirement: &5935720 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *5935720
69
+ - !ruby/object:Gem::Dependency
70
+ name: guard-rspec
71
+ requirement: &5934760 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *5934760
80
+ description: Uses EC2 instance tags to locate all the running instances in a given
81
+ cluster, grouped by role.
82
+ email:
83
+ - andrew@ingenerator.com
84
+ executables:
85
+ - cloudfinder
86
+ extensions: []
87
+ extra_rdoc_files: []
88
+ files:
89
+ - .gitattributes
90
+ - .gitignore
91
+ - .rspec
92
+ - .travis.yml
93
+ - CONTRIBUTING.md
94
+ - Gemfile
95
+ - Guardfile
96
+ - LICENSE.txt
97
+ - README.md
98
+ - Rakefile
99
+ - bin/cloudfinder
100
+ - cloudfinder-ec2.gemspec
101
+ - lib/cloudfinder-ec2.rb
102
+ - lib/cloudfinder-ec2/cluster.rb
103
+ - lib/cloudfinder-ec2/clusterfinder.rb
104
+ - lib/cloudfinder-ec2/command/list.rb
105
+ - lib/cloudfinder-ec2/consts.rb
106
+ - lib/cloudfinder-ec2/detector.rb
107
+ - lib/cloudfinder-ec2/instance.rb
108
+ - lib/cloudfinder-ec2/version.rb
109
+ - spec/cloudfinder-ec2/cluster_spec.rb
110
+ - spec/cloudfinder-ec2/clusterfinder_spec.rb
111
+ - spec/cloudfinder-ec2/command/list_spec.rb
112
+ - spec/cloudfinder-ec2/detector_spec.rb
113
+ - spec/cloudfinder-ec2/instance_spec.rb
114
+ - spec/cloudfinder-ec2_spec.rb
115
+ - spec/spec_helper.rb
116
+ homepage: https://github.com/edbookfest/cloudfinder-ec2
117
+ licenses:
118
+ - BSD-3-Clause
119
+ post_install_message:
120
+ rdoc_options: []
121
+ require_paths:
122
+ - lib
123
+ required_ruby_version: !ruby/object:Gem::Requirement
124
+ none: false
125
+ requirements:
126
+ - - ! '>='
127
+ - !ruby/object:Gem::Version
128
+ version: '0'
129
+ required_rubygems_version: !ruby/object:Gem::Requirement
130
+ none: false
131
+ requirements:
132
+ - - ! '>='
133
+ - !ruby/object:Gem::Version
134
+ version: '0'
135
+ requirements: []
136
+ rubyforge_project:
137
+ rubygems_version: 1.8.11
138
+ signing_key:
139
+ specification_version: 3
140
+ summary: Uses EC2 instance tags to locate all the running instances in a given cluster,
141
+ grouped by role.
142
+ test_files:
143
+ - spec/cloudfinder-ec2/cluster_spec.rb
144
+ - spec/cloudfinder-ec2/clusterfinder_spec.rb
145
+ - spec/cloudfinder-ec2/command/list_spec.rb
146
+ - spec/cloudfinder-ec2/detector_spec.rb
147
+ - spec/cloudfinder-ec2/instance_spec.rb
148
+ - spec/cloudfinder-ec2_spec.rb
149
+ - spec/spec_helper.rb