cloudfinder-ec2 0.1.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.
@@ -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