Class: Egi::Fedcloud::Cloudhound::Gocdb

Inherits:
Connector
  • Object
show all
Defined in:
lib/egi/fedcloud/cloudhound/gocdb.rb

Constant Summary collapse

GOCDB_SERVICE_ENDPOINT =
'/gocdbpi/public/?method=get_service_endpoint'
GOCDB_SITES_URL =
'/gocdbpi/private/?method=get_site'
GOCDB_PROD_SITES_URL =
"#{GOCDB_SITES_URL}&production_status=Production"
GOCDB_CERT_PROD_SITES_URL =
"#{GOCDB_PROD_SITES_URL}&certification_status=Certified"
CLOUD_SERVICE_TYPES =
[
  "eu.egi.cloud.vm-management.occi",
  "eu.egi.cloud.storage-management.cdmi",
#    "eu.egi.cloud.accounting",
#    "eu.egi.cloud.information.bdii",
  "eu.egi.cloud.vm.metadata-vmcatcher",
]

Instance Method Summary collapse

Methods inherited from Connector

#retrieve

Constructor Details

#initialize(opts = {}, password = nil) ⇒ Gocdb

Returns a new instance of Gocdb.



20
21
22
23
24
# File 'lib/egi/fedcloud/cloudhound/gocdb.rb', line 20

def initialize(opts = {}, password = nil)
  super
  Egi::Fedcloud::Cloudhound::Log.debug "[#{self.class}] With GOCDB instance at #{opts[:gocdb_base_url].inspect}"
  self.class.base_uri opts[:gocdb_base_url]
end

Instance Method Details

#certified_production_cloud_sitesObject



52
53
54
# File 'lib/egi/fedcloud/cloudhound/gocdb.rb', line 52

def certified_production_cloud_sites
  certified_production_sites.select { |site| cloud_site_names.include?(site.name) }
end

#certified_production_sitesObject



37
38
39
# File 'lib/egi/fedcloud/cloudhound/gocdb.rb', line 37

def certified_production_sites
  get_and_parse GOCDB_CERT_PROD_SITES_URL, 'cert_prod_sites'
end

#cloud_sitesObject



42
43
44
# File 'lib/egi/fedcloud/cloudhound/gocdb.rb', line 42

def cloud_sites
  sites.select { |site| cloud_site_names.include?(site.name) }
end

#production_cloud_sitesObject



47
48
49
# File 'lib/egi/fedcloud/cloudhound/gocdb.rb', line 47

def production_cloud_sites
  production_sites.select { |site| cloud_site_names.include?(site.name) }
end

#production_sitesObject



32
33
34
# File 'lib/egi/fedcloud/cloudhound/gocdb.rb', line 32

def production_sites
  get_and_parse GOCDB_PROD_SITES_URL, 'prod_sites'
end

#sitesObject



27
28
29
# File 'lib/egi/fedcloud/cloudhound/gocdb.rb', line 27

def sites
  get_and_parse GOCDB_SITES_URL, 'sites'
end