Sha256: 34dd8afe63db1fe2f06c1da9bfb7b5902f0a7c6736d8068ed1de3d7c4bc601a1
Contents?: true
Size: 881 Bytes
Versions: 3
Compression:
Stored size: 881 Bytes
Contents
require 'net/http' def get_from_ec2(key = '') base_url = "http://instance-data.ec2.internal/latest/meta-data/" + key url = URI.parse(base_url) req = Net::HTTP::Get.new(url.path) res = Net::HTTP.start(url.host, url.port) do |http| http.request(req) end res.body end def get_keys(key = '') keys = get_from_ec2(key).split("\n") keys.inject([]) do |accum, k| if k =~ /\/$/ get_keys(key + k).each do |k| accum << k end accum elsif k =~ /=/ get_keys(key + $` + '/').each do |k| accum << k end accum else accum << key + k accum end end end if attrib?('domain') =~ /(\.amazonaws.com|compute-1.internal|ec2.internal)$/ replace_attrib("ec2", "true") get_keys.each do |key| replace_attrib("ec2-#{key.gsub('/', '-')}", get_from_ec2("#{key}")) end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
loe-iclassify-interface-1.0.13 | recipes/02_ec2.rb |
loe-iclassify-interface-1.0.14 | recipes/02_ec2.rb |
loe-iclassify-interface-1.0.15 | recipes/02_ec2.rb |