class Egi::Fedcloud::Vmhound::Extractor

Public Class Methods

env_init(options = {}) click to toggle source

@param options [Hash] hash with connector options @return [String] name of the initialized connector

# File lib/egi/fedcloud/vmhound/extractor.rb, line 10
def env_init(options = {})
  fail 'Connector type not specified!' unless options[:cmf]
  return if defined?(@@connector)

  connector_name = "#{options[:cmf].camelize}Connector"
  Egi::Fedcloud::Vmhound::Log.debug "[#{self}] Getting #{connector_name} for #{options[:cmf]}"
  @@connector = Egi::Fedcloud::Vmhound::Connectors.const_get(connector_name).new(options)

  connector_name
end
find_by_appuri(uri, options = {}) click to toggle source
# File lib/egi/fedcloud/vmhound/extractor.rb, line 29
def find_by_appuri(uri, options = {})
  env_init options
  Egi::Fedcloud::Vmhound::Log.debug "[#{self}] Searching for instances by MPURI: #{uri.inspect}"
  @@connector.instances.select { |instance| instance[:appliance] && instance[:appliance][:identifiers].include?(uri) }
end
find_by_ip(ip, options = {}) click to toggle source
# File lib/egi/fedcloud/vmhound/extractor.rb, line 22
def find_by_ip(ip, options = {})
  env_init options
  Egi::Fedcloud::Vmhound::Log.debug "[#{self}] Searching for instances by IP: #{ip.inspect}"
  @@connector.instances.select { |instance| instance[:ips] && instance[:ips].include?(ip) }
end
find_by_user(id, options = {}) click to toggle source
# File lib/egi/fedcloud/vmhound/extractor.rb, line 36
def find_by_user(id, options = {})
  env_init options
  Egi::Fedcloud::Vmhound::Log.debug "[#{self}] Searching for instances by user ID: #{id.inspect}"
  @@connector.instances.select { |instance| instance[:owner] && instance[:owner][:identities].include?(id) }
end