Skip to content

Instantly share code, notes, and snippets.

@umeyuki
Created May 30, 2014 01:09
Show Gist options
  • Save umeyuki/418d3d7bb68938181f1b to your computer and use it in GitHub Desktop.
Save umeyuki/418d3d7bb68938181f1b to your computer and use it in GitHub Desktop.
AWSのhosts生成スクリプト
require 'aws-sdk'
module AWS
class HostsGenerator
def initialize(access_key_id: '',secret_access_key: '',region: '')
AWS.config(access_key_id: ENV["AWS_ACCESS_KEY_ID"], secret_access_key: ENV["AWS_SECRET_ACCESS_KEY"], region: ENV["AWS_REGION"])
@hosts = []
AWS.ec2.instances.each do |ins|
host_name = ins.tags.to_h['Name']
@hosts.push("#{ins.private_ip_address} #{host_name}")
end
end
def out
self.validate
@hosts.unshift('127.0.0.1 localhost localhost.localdomain')
@hosts.each do |h|
puts h
end
end
def validate
if @hosts.empty?
abort 'hosts empty!'
end
end
end
end
AWS::HostsGenerator.new(access_key_id: ENV["AWS_ACCESS_KEY_ID"], secret_access_key: ENV["AWS_SECRET_ACCESS_KEY"], region: ENV["AWS_REGION"]).out
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment