Class: Vcloud::Walker::FogInterface

Inherits:
Object
  • Object
show all
Defined in:
lib/vcloud/walker/fog_interface.rb

Class Method Summary collapse

Class Method Details

.get_catalogsObject



5
6
7
8
# File 'lib/vcloud/walker/fog_interface.rb', line 5

def self.get_catalogs
  org = get_org
  org.catalogs.all(false)
end

.get_edge_gatewaysObject

we use the request here as we don’t yet have a model for Edge Gateways



21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/vcloud/walker/fog_interface.rb', line 21

def self.get_edge_gateways
  vcloud = VcloudSession.instance
  get_vdcs.collect do |vdc|
    data = vcloud.get_org_vdc_gateways(vdc.id).body
    if data[:EdgeGatewayRecord]
      edge_gateways = data[:EdgeGatewayRecord].is_a?(Hash) ? [data[:EdgeGatewayRecord]] : data[:EdgeGatewayRecord]
      edge_gateways.map do |edgeGateway|
        vcloud.get_edge_gateway(edgeGateway[:href].split('/').last).body
      end
    end
  end.flatten.compact
end

.get_networksObject



15
16
17
18
# File 'lib/vcloud/walker/fog_interface.rb', line 15

def self.get_networks
  org = get_org
  org.networks.all(false)
end

.get_orgObject



39
40
41
42
# File 'lib/vcloud/walker/fog_interface.rb', line 39

def self.get_org
  vcloud = VcloudSession.instance
  vcloud.organizations.get_by_name(vcloud.org_name)
end

.get_vapp(vapp_id) ⇒ Object

service-layer



35
36
37
# File 'lib/vcloud/walker/fog_interface.rb', line 35

def self.get_vapp vapp_id
  VcloudSession.instance.get_vapp(vapp_id).body
end

.get_vdcsObject



10
11
12
13
# File 'lib/vcloud/walker/fog_interface.rb', line 10

def self.get_vdcs
  org = get_org
  org.vdcs.all(false)
end