module GCEMetadata

Constants

DEFAULT_HOST
DEFAULT_REVISION
VERSION

gce-metadata version

Attributes

debug[RW]

Public Class Methods

[](key) click to toggle source
# File lib/gce_metadata.rb, line 32
def [](key)
        instance[key]
end
clear_instance() click to toggle source
# File lib/gce_metadata.rb, line 28
def clear_instance
        @instance = nil
end
formalize_key(key) click to toggle source
# File lib/gce_metadata.rb, line 49
def formalize_key(key)
        #key.to_s.gsub(/_/, '-')
        key
end
from_hash(hash, revision = DEFAULT_REVISION) click to toggle source
# File lib/gce_metadata.rb, line 40
def from_hash(hash, revision = DEFAULT_REVISION)
        # hash = {revision => hash}
        # instance.from_hash(hash)
        rev_obj = instance.new_child(revision)
        instance.instance_variable_set(:@children, {revision => rev_obj})
        instance.instance_variable_set(:@child_keys, [revision])
        rev_obj.from_hash(hash)
end
instance() click to toggle source
# File lib/gce_metadata.rb, line 24
def instance
        @instance ||= Root.new['computeMetadata']
end
logging(msg) { || ... } click to toggle source
# File lib/gce_metadata.rb, line 54
def logging(msg)
        @indent ||= 0
        @indent += 2
        disp = (" " * @indent) << msg
        #puts(disp) if @debug
        begin
                result = yield
                puts "#{disp} => #{result.inspect}" if @debug
                #puts "#{(" " * @indent)}  #{result.inspect}" if @debug
        ensure
                @indent -= 2
        end
        result
end
to_hash(revision = DEFAULT_REVISION) click to toggle source
# File lib/gce_metadata.rb, line 36
def to_hash(revision = DEFAULT_REVISION)
        self[revision].to_hash
end