Class: RightScale::MetadataProvider

Inherits:
Object
  • Object
show all
Defined in:
lib/clouds/metadata_provider.rb

Overview

Abstracts a metadata provider which implements recursive tree building and relies on an external fetcher object

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ MetadataProvider

Returns a new instance of MetadataProvider.



33
34
35
36
37
38
39
# File 'lib/clouds/metadata_provider.rb', line 33

def initialize(options = {})
   = options[:metadata_source]
   = options[:metadata_tree_climber]
   = options[:raw_metadata_writer]
   = options[:build_metadata_override]
  @query_override = options[:query_override]
end

Instance Attribute Details

#metadata_sourceObject

Returns the value of attribute metadata_source.



31
32
33
# File 'lib/clouds/metadata_provider.rb', line 31

def 
  
end

#metadata_tree_climberObject

Returns the value of attribute metadata_tree_climber.



31
32
33
# File 'lib/clouds/metadata_provider.rb', line 31

def 
  
end

#raw_metadata_writerObject

Returns the value of attribute raw_metadata_writer.



31
32
33
# File 'lib/clouds/metadata_provider.rb', line 31

def 
  
end

Instance Method Details

#build_metadataObject

Queries cloud-specific instance metadata in an implementation-specific manner. The resulting tree of metadata is built using the given Hash-like class.

Return

tree_metadata(Hash|String)

tree of metadata or leaf value or nil

depending on options

Raises

RightScale::MetadataSource::QueryFailed

on failure to query metadata



51
52
53
54
55
56
57
# File 'lib/clouds/metadata_provider.rb', line 51

def 
  return .call(self) if 
  @root_path = .root_path
  (@root_path)
ensure
  @root_path = nil
end