Class: Fog::Terremark::Vcloud::Real

Inherits:
Object
  • Object
show all
Includes:
Shared::Parser, Shared::Real
Defined in:
lib/fog/terremark/vcloud.rb

Instance Method Summary collapse

Methods included from Shared::Parser

#parse

Methods included from Shared::Real

#add_internet_service, #add_node_service, #addresses, #create_internet_service, #default_organization_id, #delete_internet_service, #delete_node_service, #delete_public_ip, #delete_vapp, #deploy_vapp, #get_catalog, #get_catalog_item, #get_internet_services, #get_network, #get_network_ips, #get_node_services, #get_organization, #get_organizations, #get_public_ip, #get_public_ips, #get_task, #get_tasks_list, #get_vapp, #get_vapp_template, #get_vdc, #instantiate_vapp_template, #networks, #power_off, #power_on, #reset, #servers, #shutdown, #tasks, #vdcs

Constructor Details

#initialize(options = {}) ⇒ Real

Returns a new instance of Real.



31
32
33
34
35
36
37
38
39
# File 'lib/fog/terremark/vcloud.rb', line 31

def initialize(options={})
  @terremark_password = options[:terremark_vcloud_password]
  @terremark_username = options[:terremark_vcloud_username]
  @host   = options[:host]   || "services.vcloudexpress.terremark.com"
  @path   = options[:path]   || "/api/v0.8"
  @port   = options[:port]   || 443
  @scheme = options[:scheme] || 'https'
  @cookie = get_organizations.headers['Set-Cookie']
end

Instance Method Details

#default_network_idObject



58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/fog/terremark/vcloud.rb', line 58

def default_network_id
  if default_vdc_id
    @default_network_id ||= begin
      networks = get_vdc(default_vdc_id).body['AvailableNetworks']
      if networks.length == 1
        networks.first['href'].split('/').last.to_i
      else
        nil
      end
    end
  else
    nil
  end
end

#default_public_ip_idObject



73
74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/fog/terremark/vcloud.rb', line 73

def default_public_ip_id
  if default_vdc_id
    @default_public_ip_id ||= begin
      ips = get_public_ips(default_vdc_id).body['PublicIpAddresses']
      if ips.length == 1
        ips.first['href'].split('/').last.to_i
      else
        nil
      end
    end
  else
    nil
  end
end

#default_vdc_idObject



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/fog/terremark/vcloud.rb', line 41

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