Class: RightScale::MetadataProvider
- 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
-
#metadata_source ⇒ Object
Returns the value of attribute metadata_source.
-
#metadata_tree_climber ⇒ Object
Returns the value of attribute metadata_tree_climber.
-
#raw_metadata_writer ⇒ Object
Returns the value of attribute raw_metadata_writer.
Instance Method Summary collapse
-
#build_metadata ⇒ Object
Queries cloud-specific instance metadata in an implementation-specific manner.
-
#initialize(options = {}) ⇒ MetadataProvider
constructor
A new instance of MetadataProvider.
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( = {}) = [:metadata_source] = [:metadata_tree_climber] = [:raw_metadata_writer] = [:build_metadata_override] @query_override = [:query_override] end |
Instance Attribute Details
#metadata_source ⇒ Object
Returns the value of attribute metadata_source.
31 32 33 |
# File 'lib/clouds/metadata_provider.rb', line 31 def end |
#metadata_tree_climber ⇒ Object
Returns the value of attribute metadata_tree_climber.
31 32 33 |
# File 'lib/clouds/metadata_provider.rb', line 31 def end |
#raw_metadata_writer ⇒ Object
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_metadata ⇒ Object
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
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 |