Class: VagrantPlugins::VSphere::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/vSphere/config.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfig

Returns a new instance of Config.



12
13
14
15
16
17
# File 'lib/vSphere/config.rb', line 12

def initialize
  @ip_address_timeout = UNSET_VALUE
  @wait_for_sysprep = UNSET_VALUE
  @custom_attributes = {}
  @extra_config = {}
end

Instance Attribute Details

#addressTypeObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def addressType
  @addressType
end

#clone_from_vmObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def clone_from_vm
  @clone_from_vm
end

#compute_resource_nameObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def compute_resource_name
  @compute_resource_name
end

#cpu_countObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def cpu_count
  @cpu_count
end

#cpu_reservationObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def cpu_reservation
  @cpu_reservation
end

#custom_attributesObject (readonly)

Returns the value of attribute custom_attributes.



10
11
12
# File 'lib/vSphere/config.rb', line 10

def custom_attributes
  @custom_attributes
end

#customization_spec_nameObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def customization_spec_name
  @customization_spec_name
end

#data_center_nameObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def data_center_name
  @data_center_name
end

#data_store_nameObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def data_store_name
  @data_store_name
end

#extra_configObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def extra_config
  @extra_config
end

#hostObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def host
  @host
end

#insecureObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def insecure
  @insecure
end

#ip_address_timeoutObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def ip_address_timeout
  @ip_address_timeout
end

#linked_cloneObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def linked_clone
  @linked_clone
end

#macObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def mac
  @mac
end

#mem_reservationObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def mem_reservation
  @mem_reservation
end

#memory_mbObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def memory_mb
  @memory_mb
end

#nameObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def name
  @name
end

#notesObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def notes
  @notes
end

#passwordObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def password
  @password
end

#proxy_hostObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def proxy_host
  @proxy_host
end

#proxy_portObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def proxy_port
  @proxy_port
end

#real_nic_ipObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def real_nic_ip
  @real_nic_ip
end

#resource_pool_nameObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def resource_pool_name
  @resource_pool_name
end

#template_nameObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def template_name
  @template_name
end

#userObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def user
  @user
end

#vlanObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def vlan
  @vlan
end

#vm_base_pathObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def vm_base_path
  @vm_base_path
end

#wait_for_sysprepObject

Time to wait for an IP address when booting, in seconds @return [Integer]



8
9
10
# File 'lib/vSphere/config.rb', line 8

def wait_for_sysprep
  @wait_for_sysprep
end

Instance Method Details

#custom_attribute(key, value) ⇒ Object



24
25
26
# File 'lib/vSphere/config.rb', line 24

def custom_attribute(key, value)
  @custom_attributes[key.to_sym] = value
end

#finalize!Object



19
20
21
22
# File 'lib/vSphere/config.rb', line 19

def finalize!
  @ip_address_timeout = 240 if @ip_address_timeout == UNSET_VALUE
  @wait_for_sysprep = false if @wait_for_sysprep == UNSET_VALUE
end

#validate(machine) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/vSphere/config.rb', line 28

def validate(machine)
  errors = _detected_errors

  self.password = machine.ui.ask('vSphere Password (will be hidden): ', echo: false) if password == :ask || password.nil?

  # TODO: add blank?
  errors << I18n.t('vsphere.config.host') if host.nil?
  errors <<  I18n.t('vsphere.config.user') if user.nil?
  errors <<  I18n.t('vsphere.config.password') if password.nil?
  errors <<  I18n.t('vsphere.config.template') if template_name.nil?

  # Only required if we're cloning from an actual template
  errors << I18n.t('vsphere.config.compute_resource') if compute_resource_name.nil? && !clone_from_vm

  { 'vSphere Provider' => errors }
end