module Ohai::Mixin::ScalewayMetadata

Public Instance Methods

fetch_metadata() click to toggle source

fetch scaleway metadata and parse the resulting JSON

@return [Hash]

# File lib/ohai/mixin/scaleway_metadata.rb, line 35
def fetch_metadata
  uri = SCALEWAY_METADATA_URL.to_s
  response = http_client.get(uri)
  case response.code
  when "200"
    parser = FFI_Yajl::Parser.new
    parser.parse(response.body)
  when "404"
    logger.trace("Mixin ScalewayMetadata: Encountered 404 response retrieving Scaleway metadata: #{uri} ; continuing.")
    {}
  else
    raise "Mixin ScalewayMetadata: Encountered error retrieving Scaleway metadata (#{uri} returned #{response.code} response)"
  end
end
http_client() click to toggle source

@return [Net::HTTP] net/http object without timeout set to 6

# File lib/ohai/mixin/scaleway_metadata.rb, line 28
def http_client
  Net::HTTP.start(SCALEWAY_METADATA_ADDR).tap { |h| h.read_timeout = 6 }
end