Class: VagrantPlugins::VCloud::Driver::Meta

Inherits:
Base
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/vagrant-vcloud/driver/meta.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#compose_vapp_from_vm, #create_vapp_from_template, #delete_vapp, #get_catalog, #get_catalog_by_name, #get_catalog_id_by_name, #get_catalog_item, #get_catalog_item_by_name, #get_organization, #get_organization_by_name, #get_organization_id_by_name, #get_organizations, #get_task, #get_vapp, #get_vapp_edge_public_ip, #get_vapp_port_forwarding_rules, #get_vapp_template, #get_vdc, #get_vdc_by_name, #get_vdc_id_by_name, #get_vm, #login, #logout, #poweron_vapp, #reboot_vapp, #reset_vapp, #set_vapp_network_config, #set_vapp_port_forwarding_rules, #set_vm_guest_customization, #set_vm_hardware, #set_vm_network_config, #suspend_vapp, #upload_ovf, #wait_task_completion

Constructor Details

#initialize(hostname, username, password, org_name) ⇒ Meta

Returns a new instance of Meta.



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/vagrant-vcloud/driver/meta.rb', line 33

def initialize(hostname, username, password, org_name)
  # Setup the base
  super()

  @logger = Log4r::Logger.new('vagrant::provider::vcloud::meta')
  @hostname = hostname
  @username = username
  @password = password
  @org_name = org_name

  # Read and assign the version of vCloud we know which
  # specific driver to instantiate.
  @version = get_api_version(@hostname) || ''

  # Instantiate the proper version driver for vCloud
  @logger.debug("Finding driver for vCloud version: #{@version}")

  if @version.start_with?('0.9') ||
     @version.start_with?('1.0') ||
     @version.start_with?('1.5')
    # We only support vCloud Director 5.1 or higher.
    raise Errors::VCloudOldVersion, :version => @version
  end

  driver_klass = Version_5_1 # Binding any vCloud API on our current 5.1 implementation

  @logger.info("Using vCloud driver: #{driver_klass}")
  @driver = driver_klass.new(@hostname, @username, @password, @org_name)
end

Instance Attribute Details

#driverObject (readonly)

Returns the value of attribute driver.



31
32
33
# File 'lib/vagrant-vcloud/driver/meta.rb', line 31

def driver
  @driver
end