Module: Fog::Compute::Helper

Included in:
VcloudDirector::Real
Defined in:
lib/fog/vcloud_director/requests/compute/helper.rb

Instance Method Summary collapse

Instance Method Details

#catalog_item_end_point(catalog_item_id = nil) ⇒ Object



5
6
7
# File 'lib/fog/vcloud_director/requests/compute/helper.rb', line 5

def catalog_item_end_point(catalog_item_id = nil)
  end_point + ( catalog_item_id ? "catalogItem/#{catalog_item_id}" : "catalogItem" )
end

#default_network_idObject



59
60
61
62
63
# File 'lib/fog/vcloud_director/requests/compute/helper.rb', line 59

def default_network_id
  return nil unless default_vdc_body
  return nil unless network = default_vdc_body[:AvailableNetworks][:Network]
  network[:href].split('/').last
end

#default_network_nameObject



53
54
55
56
57
# File 'lib/fog/vcloud_director/requests/compute/helper.rb', line 53

def default_network_name
  return nil unless default_vdc_body
  return nil unless network = default_vdc_body[:AvailableNetworks][:Network]
  network["name"]
end

#default_organization_bodyObject



82
83
84
85
86
87
88
89
# File 'lib/fog/vcloud_director/requests/compute/helper.rb', line 82

def default_organization_body
  return nil unless default_organization_id
  @default_organization_body ||= begin
    response = get_organization(default_organization_id)
    return nil unless response.respond_to? 'body'
    response.body
  end
end

#default_organization_idObject



74
75
76
77
78
79
80
# File 'lib/fog/vcloud_director/requests/compute/helper.rb', line 74

def default_organization_id
  @default_organization_id ||= begin
    org = get_organizations.body[:Org]
    return nil unless org[:href]
    org[:href].split('/').last
  end
end

#default_vdc_bodyObject

A single organization can have multiple Org vDCs.



44
45
46
47
48
49
50
51
# File 'lib/fog/vcloud_director/requests/compute/helper.rb', line 44

def default_vdc_body
  return nil unless default_vdc_id
  @default_vdc_body ||= begin
    response = get_vdc(default_vdc_id)
    return nil unless response.respond_to? 'data'
    response.data[:body]
  end
end

#default_vdc_idObject

A single organization can have multiple Org vDCs.



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/fog/vcloud_director/requests/compute/helper.rb', line 26

def default_vdc_id
  if default_organization_id
    @default_vdc_id ||= begin
      vdcs = default_organization_body[:Link].select {|link|
        link[:type] == 'application/vnd.vmware.vcloud.vdc+xml'
      }
      if vdcs.length == 1
        vdcs.first[:href].split('/').last
      else
        nil
      end
    end
  else
    nil
  end
end

#endpointObject



21
22
23
# File 'lib/fog/vcloud_director/requests/compute/helper.rb', line 21

def endpoint
  end_point
end

#network_end_point(network_id = nil) ⇒ Object



9
10
11
# File 'lib/fog/vcloud_director/requests/compute/helper.rb', line 9

def network_end_point(network_id = nil)
  end_point + ( network_id ? "network/#{network_id}" : "network" )
end

#vapp_template_end_point(vapp_template_id = nil) ⇒ Object



13
14
15
# File 'lib/fog/vcloud_director/requests/compute/helper.rb', line 13

def vapp_template_end_point(vapp_template_id = nil)
  end_point + ( vapp_template_id ? "vAppTemplate/#{vapp_template_id}" : "vAppTemplate" )
end

#vdc_end_point(vdc_id = nil) ⇒ Object



17
18
19
# File 'lib/fog/vcloud_director/requests/compute/helper.rb', line 17

def vdc_end_point(vdc_id = nil)
  end_point + ( vdc_id ? "vdc/#{vdc_id}" : "vdc" )
end