cap-ec2 0.0.7 → 0.0.8

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,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 092240e7eaab751a6904e3aca76edf76f9d2465d
4
+ data.tar.gz: 1749028233473e4273d3e9179c748ddb9531ea78
5
+ SHA512:
6
+ metadata.gz: f82a05e873cea98c83b7512d306e39e6db38fe627747c53ade46b2c2ada8c60972f71f4460837b4cf1788ad7f275ee90d19a3faa9fb265bdde02edef017f0df3
7
+ data.tar.gz: 4e40c794ca64fe95890df5f0d83795f2c2bb63dcc530fa62a00f74e30f53563b2ad40dc394888d013cf7d8ded7f68f1aedd51b226d4dec1d4d6d8c6263f97429
@@ -1,5 +1,10 @@
1
1
  # Cap-EC2 changelog
2
2
 
3
+ ## 0.0.8
4
+
5
+ * Made `config/ec2.yml` optional, set all options by Capistrano variable. [@rjocoleman](https://github.com/rjocoleman)
6
+ * Remove requirement for default region to be set. [@rjocoleman](https://github.com/rjocoleman)
7
+
3
8
  ## 0.0.7
4
9
 
5
10
  * Removed monkey patching of `Capistrano::TaskEnhancements` [@rjocoleman](https://github.com/rjocoleman)
@@ -29,4 +34,4 @@
29
34
 
30
35
  ## 0.0.1
31
36
 
32
- * Initial release
37
+ * Initial release
data/README.md CHANGED
@@ -2,23 +2,22 @@
2
2
 
3
3
  [![Code Climate](https://codeclimate.com/github/forward3d/cap-ec2.png)](https://codeclimate.com/github/forward3d/cap-ec2)
4
4
 
5
- Cap-EC2 is used to generate Capistrano namespaces and tasks from Amazon EC2 instance tags,
5
+ Cap-EC2 is used to generate Capistrano namespaces and tasks from Amazon EC2 instance tags,
6
6
  dynamically building the list of servers to be deployed to.
7
7
 
8
8
  ## Notes
9
9
 
10
- Cap-EC2 is only compatible with Capistrano 3.x or later; if you want the Capistrano 2.x version,
10
+ Cap-EC2 is only compatible with Capistrano 3.x or later; if you want the Capistrano 2.x version,
11
11
  use [Capify-EC2](https://github.com/forward/capify-ec2). Note that the configuration file (`config/ec2.yml`)
12
12
  is not compatible between versions either.
13
13
 
14
14
  This documentation assumes familiarity with Capistrano 3.x.
15
15
 
16
- A number of features that are in Capify-EC2 are not yet available in Cap-EC2, due to the
16
+ A number of features that are in Capify-EC2 are not yet available in Cap-EC2, due to the
17
17
  architectural changes in Capistrano 3.x. The following features are missing (this is not
18
18
  an exhaustive list!):
19
19
  * rolling deploy (this should be implemented via [SSHKit](https://github.com/capistrano/sshkit))
20
20
  * ELB registration/de-registration (not widely used)
21
- * using IAM roles to provide credentials
22
21
  * Variables set by EC2 tags
23
22
  * Connecting to instances via SSH using a convenience task
24
23
 
@@ -31,34 +30,49 @@ features you would like.
31
30
 
32
31
  or add the gem to your project's Gemfile.
33
32
 
34
- You will need to create a YAML configuration file at `config/ec2.yml` that looks like the following:
33
+ You also need to add the gem to your Capfile:
35
34
 
36
35
  ```ruby
37
- access_key_id: "YOUR ACCESS KEY"
38
- secret_access_key: "YOUR SECRET KEY"
39
- regions:
40
- - 'eu-west-1'
36
+ require "cap-ec2/capistrano"
41
37
  ```
42
38
 
43
- You also need to add the gem to your Capfile:
39
+
40
+ ## Configuration
41
+
42
+ Configurable options, shown here with defaults:
44
43
 
45
44
  ```ruby
46
- require "cap-ec2/capistrano"
45
+ set :ec2_config, 'config/ec2.yml'
46
+
47
+ set :ec2_project_tag, 'Project'
48
+ set :ec2_roles_tag, 'Roles'
49
+ set :ec2_stages_tag, 'Stages'
50
+
51
+ set :ec2_access_key_id, nil
52
+ set :ec2_secret_access_key, nil
53
+ set :ec2_region, %w{}
47
54
  ```
48
55
 
49
- ## Configuration
56
+ #### Order of inheritance
57
+ `cap-ec2` supports multiple methods of configuration. The order of inheritance is:
58
+ YAML File > User Capistrano Config > Default Capistrano Config > ENV variables.
59
+
60
+ #### Regions
61
+ `:ec2_region` is an array of [AWS regions](http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region), if not present all regions will be checked for matching instances - this the default behavior and can be slow, if speed is an issue consider setting your required regions.
50
62
 
51
- Your `config/ec2.yml` file must contain at least the information above (`access_key_id`, `secret_access_key`, `regions`).
52
- Omitting any of these will raise an exception.
63
+ If`:ec2_access_key_id` or `:ec2_secret_access_key` are not set in any configuration the environment variables
64
+ `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` and `AWS_REGION` will be checked.
65
+ If running on EC2 the IAM instance profile credentials will be used if credentials are not set by any other method.
53
66
 
54
- The following are optional settings you can use.
67
+
68
+ #### Misc settings
55
69
 
56
70
  * project_tag
57
-
71
+
58
72
  If this is defined, Cap-EC2 will look for a tag with this name when searching for instances belong
59
73
  to this project. Cap-EC2 will look for a value which matches the `:application` setting in your
60
74
  `deploy.rb`. The tag name defaults to "Project".
61
-
75
+
62
76
  * stages_tag
63
77
 
64
78
  If this is defined, Cap-EC2 will look for a tag with this name to determine which instances belong to
@@ -67,7 +81,29 @@ The following are optional settings you can use.
67
81
  * roles_tag
68
82
 
69
83
  If this is defined, Cap-EC2 will look for a tag with this name to determine which instances belong to
70
- a given role. The tag name defaults to "Roles".
84
+ a given role. The tag name defaults to "Roles".
85
+
86
+
87
+ ### YAML Configuration
88
+
89
+
90
+ If you'd prefer do your configuration via a YAML file `config/ec2.yml` can be used, (or an alternative name/location set via `set :ec2_config`):
91
+
92
+ If so YAML file will look like this:
93
+
94
+ ```ruby
95
+ access_key_id: "YOUR ACCESS KEY"
96
+ secret_access_key: "YOUR SECRET KEY"
97
+ regions:
98
+ - 'eu-west-1'
99
+ project_tag: "Project"
100
+ roles_tag: "Roles"
101
+ stages_tag: "Stages"
102
+ ```
103
+
104
+
105
+ Your `config/ec2.yml` file can contain (`access_key_id`, `secret_access_key`, `regions`) - if a value is omitted then the order of inheritance is followed.
106
+
71
107
 
72
108
  ## Usage
73
109
 
@@ -160,7 +196,7 @@ trivial to add.
160
196
  ### Tasks and deployment
161
197
 
162
198
  You can now define your tasks for these roles in exactly the same way as you would if you weren't
163
- using this gem.
199
+ using this gem.
164
200
 
165
201
  ## Utility tasks
166
202
 
@@ -176,7 +212,7 @@ This command will show you information all the instances your configuration matc
176
212
  Example:
177
213
 
178
214
  $ cap production ec2:status
179
-
215
+
180
216
  Num Name ID Type DNS Zone Roles Stage
181
217
  00: server-1-20131030-1144-0 i-abcdefgh m1.small 192.168.202.248 us-west-2c banana,apple production
182
218
  01: server-2-20131118-1839-0 i-hgfedcba m1.small 192.168.200.60 us-west-2a banana production
@@ -191,23 +227,23 @@ Example:
191
227
 
192
228
  $ cap production ec2:server_names
193
229
  server-1-20131030-1144-0
194
- server-2-20131118-1839-0
230
+ server-2-20131118-1839-0
195
231
 
196
232
  ### View server instance IDs
197
-
233
+
198
234
  This command will show the instance IDs of the instances matching the given stage:
199
-
235
+
200
236
  cap [stage] ec2:instance_ids
201
-
237
+
202
238
  Example:
203
-
239
+
204
240
  $ cap production ec2:instance_ids
205
241
  i-abcdefgh
206
242
  i-hgfedcba
207
243
 
208
244
  ## Acknowledgements
209
245
 
210
- Thanks to [Rylon](https://github.com/Rylon) for maintaining Capify-EC2 and
246
+ Thanks to [Rylon](https://github.com/Rylon) for maintaining Capify-EC2 and
211
247
  reviewing my thought processes for this project.
212
248
 
213
249
  ## Contributing
@@ -6,8 +6,8 @@ require 'cap-ec2/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "cap-ec2"
8
8
  spec.version = CapEC2::VERSION
9
- spec.authors = ["Andy Sykes"]
10
- spec.email = ["github@tinycat.co.uk"]
9
+ spec.authors = ["Andy Sykes", "Robert Coleman"]
10
+ spec.email = ["github@tinycat.co.uk", "github@robert.net.nz"]
11
11
  spec.description = %q{Cap-EC2 is used to generate Capistrano namespaces and tasks from Amazon EC2 instance tags, dynamically building the list of servers to be deployed to.}
12
12
  spec.summary = %q{Cap-EC2 is used to generate Capistrano namespaces and tasks from Amazon EC2 instance tags, dynamically building the list of servers to be deployed to.}
13
13
  spec.homepage = "https://github.com/forward3d/cap-ec2"
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 1.3"
22
22
  spec.add_development_dependency "rake"
23
-
23
+
24
24
  spec.add_dependency "aws-sdk"
25
25
  spec.add_dependency "capistrano", ">= 3.0"
26
26
  spec.add_dependency "terminal-table"
@@ -7,7 +7,6 @@ require 'yaml'
7
7
  require_relative 'utils'
8
8
  require_relative 'ec2-handler'
9
9
  require_relative 'status-table'
10
- require_relative 'instance'
11
10
 
12
11
  # Load extra tasks
13
12
  load File.expand_path("../tasks/ec2.rake", __FILE__)
@@ -17,19 +16,19 @@ module Capistrano
17
16
  module Ec2
18
17
 
19
18
  def ec2_handler
20
- @ec2_handler ||= CapEC2::EC2Handler.new(env.fetch(:ec2_config, "config/ec2.yml"))
19
+ @ec2_handler ||= CapEC2::EC2Handler.new
21
20
  end
22
-
21
+
23
22
  def ec2_role(name, options={})
24
23
  ec2_handler.get_servers_for_role(name).each do |server|
25
- env.role(name, server.contact_point, options)
24
+ env.role(name, CapEC2::Utils.contact_point(server), options)
26
25
  end
27
26
  end
28
-
27
+
29
28
  def env
30
29
  Configuration.env
31
30
  end
32
-
31
+
33
32
  end
34
33
  end
35
34
  end
@@ -1,26 +1,30 @@
1
1
  module CapEC2
2
2
  class EC2Handler
3
3
  include CapEC2::Utils
4
-
5
- def initialize(ec2_config = "config/ec2.yml")
6
- @ec2_config = YAML.load_file ec2_config
4
+
5
+ def initialize
6
+ load_config
7
+ configured_regions = get_regions(fetch(:ec2_region))
7
8
  @ec2 = {}
8
- @ec2_config["regions"].each do |region|
9
- @ec2[region] = AWS::EC2.new(
10
- access_key_id: @ec2_config["access_key_id"],
11
- secret_access_key: @ec2_config["secret_access_key"],
9
+ configured_regions.each do |region|
10
+ @ec2[region] = ec2_connect(region)
11
+ end
12
+ end
13
+
14
+ def ec2_connect(region=nil)
15
+ AWS::EC2.new(
16
+ access_key_id: fetch(:ec2_access_key_id),
17
+ secret_access_key: fetch(:ec2_secret_access_key),
12
18
  region: region
13
19
  )
14
- end
15
20
  end
16
-
21
+
17
22
  def status_table
18
23
  CapEC2::StatusTable.new(
19
- defined_roles.map {|r| get_servers_for_role(r)}.flatten.uniq {|i| i.instance_id},
20
- @ec2_config
24
+ defined_roles.map {|r| get_servers_for_role(r)}.flatten.uniq {|i| i.instance_id}
21
25
  )
22
26
  end
23
-
27
+
24
28
  def server_names
25
29
  puts defined_roles.map {|r| get_servers_for_role(r)}
26
30
  .flatten
@@ -28,7 +32,7 @@ module CapEC2
28
32
  .map {|i| i.tags["Name"]}
29
33
  .join("\n")
30
34
  end
31
-
35
+
32
36
  def instance_ids
33
37
  puts defined_roles.map {|r| get_servers_for_role(r)}
34
38
  .flatten
@@ -36,41 +40,35 @@ module CapEC2
36
40
  .map {|i| i.instance_id}
37
41
  .join("\n")
38
42
  end
39
-
43
+
40
44
  def defined_roles
41
45
  Capistrano::Configuration.env.send(:servers).send(:available_roles)
42
46
  end
43
-
47
+
44
48
  def stage
45
49
  Capistrano::Configuration.env.fetch(:stage).to_s
46
50
  end
47
-
51
+
48
52
  def application
49
53
  Capistrano::Configuration.env.fetch(:application).to_s
50
54
  end
51
-
55
+
52
56
  def tag(tag_name)
53
57
  "tag:#{tag_name}"
54
58
  end
55
-
59
+
56
60
  def get_servers_for_role(role)
57
61
  servers = []
58
- each_region do |ec2|
62
+ @ec2.each do |_, ec2|
59
63
  instances = ec2.instances
60
64
  .filter(tag(project_tag), application)
61
65
  .filter('instance-state-code', '16')
62
- servers << instances.select do |i|
66
+ servers << instances.select do |i|
63
67
  i.tags[roles_tag] =~ /,{0,1}#{role}(,|$)/ && i.tags[stages_tag] =~ /,{0,1}#{stage}(,|$)/
64
68
  end
65
69
  end
66
70
  servers.flatten
67
71
  end
68
-
69
- def each_region
70
- @ec2.keys.each do |region|
71
- yield @ec2[region]
72
- end
73
- end
74
-
72
+
75
73
  end
76
- end
74
+ end
@@ -2,9 +2,8 @@ module CapEC2
2
2
  class StatusTable
3
3
  include CapEC2::Utils
4
4
 
5
- def initialize(instances, ec2_config)
5
+ def initialize(instances)
6
6
  @instances = instances
7
- @ec2_config = ec2_config
8
7
  output
9
8
  end
10
9
 
@@ -42,7 +41,7 @@ module CapEC2
42
41
  (instance.tags["Name"] || '').green,
43
42
  instance.id.red,
44
43
  instance.instance_type.cyan,
45
- instance.contact_point.blue.bold,
44
+ CapEC2::Utils.contact_point(instance).blue.bold,
46
45
  instance.availability_zone.magenta,
47
46
  instance.tags[roles_tag].yellow,
48
47
  instance.tags[stages_tag].yellow
@@ -15,4 +15,21 @@ namespace :ec2 do
15
15
  ec2_handler.instance_ids
16
16
  end
17
17
 
18
- end
18
+ end
19
+
20
+
21
+ namespace :load do
22
+ task :defaults do
23
+
24
+ set :ec2_config, 'config/ec2.yml'
25
+
26
+ set :ec2_project_tag, 'Project'
27
+ set :ec2_roles_tag, 'Roles'
28
+ set :ec2_stages_tag, 'Stages'
29
+
30
+ set :ec2_access_key_id, nil
31
+ set :ec2_secret_access_key, nil
32
+ set :ec2_region, %w{}
33
+
34
+ end
35
+ end
@@ -1,15 +1,45 @@
1
1
  module CapEC2
2
2
  module Utils
3
3
  def project_tag
4
- @ec2_config["project_tag"] || "Project"
4
+ fetch(:ec2_project_tag)
5
5
  end
6
6
 
7
7
  def roles_tag
8
- @ec2_config["roles_tag"] || "Roles"
8
+ fetch(:ec2_roles_tag)
9
9
  end
10
10
 
11
11
  def stages_tag
12
- @ec2_config["stages_tag"] || "Stages"
12
+ fetch(:ec2_stages_tag)
13
13
  end
14
+
15
+ def self.contact_point(instance)
16
+ instance.public_dns_name || instance.public_ip_address || instance.private_ip_address
17
+ end
18
+
19
+ def load_config
20
+ config_location = File.expand_path(fetch(:ec2_config), Dir.pwd) if fetch(:ec2_config)
21
+ if config_location && File.exists?(config_location)
22
+ config = YAML.load_file fetch(:ec2_config)
23
+ if config
24
+ set :ec2_project_tag, config['project_tag'] if config['project_tag']
25
+ set :ec2_roles_tag, config['roles_tag'] if config['roles_tag']
26
+ set :ec2_stages_tag, config['stages_tag'] if config['stages_tag']
27
+
28
+ set :ec2_access_key_id, config['access_key_id'] if config['access_key_id']
29
+ set :ec2_secret_access_key, config['secret_access_key'] if config['secret_access_key']
30
+ set :ec2_region, config['regions'] if config['regions']
31
+ end
32
+ end
33
+ end
34
+
35
+ def get_regions(regions_array=nil)
36
+ unless regions_array.empty?
37
+ return regions_array
38
+ else
39
+ @ec2 = ec2_connect
40
+ @ec2.regions.map(&:name)
41
+ end
42
+ end
43
+
14
44
  end
15
45
  end
@@ -1,3 +1,3 @@
1
1
  module CapEC2
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
metadata CHANGED
@@ -1,121 +1,110 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cap-ec2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
5
- prerelease:
4
+ version: 0.0.8
6
5
  platform: ruby
7
6
  authors:
8
7
  - Andy Sykes
8
+ - Robert Coleman
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-02-05 00:00:00.000000000 Z
12
+ date: 2014-02-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
16
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
17
  requirements:
19
- - - ~>
18
+ - - "~>"
20
19
  - !ruby/object:Gem::Version
21
20
  version: '1.3'
22
21
  type: :development
23
22
  prerelease: false
24
23
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
24
  requirements:
27
- - - ~>
25
+ - - "~>"
28
26
  - !ruby/object:Gem::Version
29
27
  version: '1.3'
30
28
  - !ruby/object:Gem::Dependency
31
29
  name: rake
32
30
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
31
  requirements:
35
- - - ! '>='
32
+ - - ">="
36
33
  - !ruby/object:Gem::Version
37
34
  version: '0'
38
35
  type: :development
39
36
  prerelease: false
40
37
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
38
  requirements:
43
- - - ! '>='
39
+ - - ">="
44
40
  - !ruby/object:Gem::Version
45
41
  version: '0'
46
42
  - !ruby/object:Gem::Dependency
47
43
  name: aws-sdk
48
44
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
45
  requirements:
51
- - - ! '>='
46
+ - - ">="
52
47
  - !ruby/object:Gem::Version
53
48
  version: '0'
54
49
  type: :runtime
55
50
  prerelease: false
56
51
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
52
  requirements:
59
- - - ! '>='
53
+ - - ">="
60
54
  - !ruby/object:Gem::Version
61
55
  version: '0'
62
56
  - !ruby/object:Gem::Dependency
63
57
  name: capistrano
64
58
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
59
  requirements:
67
- - - ! '>='
60
+ - - ">="
68
61
  - !ruby/object:Gem::Version
69
62
  version: '3.0'
70
63
  type: :runtime
71
64
  prerelease: false
72
65
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
66
  requirements:
75
- - - ! '>='
67
+ - - ">="
76
68
  - !ruby/object:Gem::Version
77
69
  version: '3.0'
78
70
  - !ruby/object:Gem::Dependency
79
71
  name: terminal-table
80
72
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
73
  requirements:
83
- - - ! '>='
74
+ - - ">="
84
75
  - !ruby/object:Gem::Version
85
76
  version: '0'
86
77
  type: :runtime
87
78
  prerelease: false
88
79
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
80
  requirements:
91
- - - ! '>='
81
+ - - ">="
92
82
  - !ruby/object:Gem::Version
93
83
  version: '0'
94
84
  - !ruby/object:Gem::Dependency
95
85
  name: colored
96
86
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
87
  requirements:
99
- - - ! '>='
88
+ - - ">="
100
89
  - !ruby/object:Gem::Version
101
90
  version: '0'
102
91
  type: :runtime
103
92
  prerelease: false
104
93
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
94
  requirements:
107
- - - ! '>='
95
+ - - ">="
108
96
  - !ruby/object:Gem::Version
109
97
  version: '0'
110
98
  description: Cap-EC2 is used to generate Capistrano namespaces and tasks from Amazon
111
99
  EC2 instance tags, dynamically building the list of servers to be deployed to.
112
100
  email:
113
101
  - github@tinycat.co.uk
102
+ - github@robert.net.nz
114
103
  executables: []
115
104
  extensions: []
116
105
  extra_rdoc_files: []
117
106
  files:
118
- - .gitignore
107
+ - ".gitignore"
119
108
  - CHANGELOG.md
120
109
  - Gemfile
121
110
  - LICENSE.txt
@@ -124,7 +113,6 @@ files:
124
113
  - cap-ec2.gemspec
125
114
  - lib/cap-ec2/capistrano.rb
126
115
  - lib/cap-ec2/ec2-handler.rb
127
- - lib/cap-ec2/instance.rb
128
116
  - lib/cap-ec2/status-table.rb
129
117
  - lib/cap-ec2/tasks/ec2.rake
130
118
  - lib/cap-ec2/utils.rb
@@ -132,33 +120,27 @@ files:
132
120
  homepage: https://github.com/forward3d/cap-ec2
133
121
  licenses:
134
122
  - MIT
123
+ metadata: {}
135
124
  post_install_message:
136
125
  rdoc_options: []
137
126
  require_paths:
138
127
  - lib
139
128
  required_ruby_version: !ruby/object:Gem::Requirement
140
- none: false
141
129
  requirements:
142
- - - ! '>='
130
+ - - ">="
143
131
  - !ruby/object:Gem::Version
144
132
  version: '0'
145
- segments:
146
- - 0
147
- hash: 1426469508856454138
148
133
  required_rubygems_version: !ruby/object:Gem::Requirement
149
- none: false
150
134
  requirements:
151
- - - ! '>='
135
+ - - ">="
152
136
  - !ruby/object:Gem::Version
153
137
  version: '0'
154
- segments:
155
- - 0
156
- hash: 1426469508856454138
157
138
  requirements: []
158
139
  rubyforge_project:
159
- rubygems_version: 1.8.23
140
+ rubygems_version: 2.2.0
160
141
  signing_key:
161
- specification_version: 3
142
+ specification_version: 4
162
143
  summary: Cap-EC2 is used to generate Capistrano namespaces and tasks from Amazon EC2
163
144
  instance tags, dynamically building the list of servers to be deployed to.
164
145
  test_files: []
146
+ has_rdoc:
@@ -1,11 +0,0 @@
1
- # Monkey patch the AWS SDK to return a variable
2
- # "contact point" we can reach the server on
3
- module AWS
4
- class EC2
5
- class Instance
6
- def contact_point
7
- public_dns_name || public_ip_address || private_ip_address
8
- end
9
- end
10
- end
11
- end