Class: VagrantPlugins::Proxmox::Provider

Inherits:
Object
  • Object
show all
Defined in:
lib/vagrant-proxmox/provider.rb

Instance Method Summary collapse

Constructor Details

#initialize(machine) ⇒ Provider

Returns a new instance of Provider.



6
7
8
# File 'lib/vagrant-proxmox/provider.rb', line 6

def initialize machine
	@machine = machine
end

Instance Method Details

#action(name) ⇒ Object



10
11
12
13
14
15
16
17
# File 'lib/vagrant-proxmox/provider.rb', line 10

def action name
	# Attempt to get the action method from the Action class if it
	# exists, otherwise return nil to show that we don't support the
	# given action.
	action_method = "action_#{name}"
	return Action.send(action_method) if Action.respond_to?(action_method)
	nil
end

#ssh_infoObject



35
36
37
38
39
40
41
# File 'lib/vagrant-proxmox/provider.rb', line 35

def ssh_info
	# Run a custom action called "read_ssh_info" which does what it
	# says and puts the resulting SSH info into the `:machine_ssh_info`
	# key in the environment.
	env = @machine.action 'read_ssh_info'
	env[:machine_ssh_info]
end

#stateObject



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/vagrant-proxmox/provider.rb', line 19

def state
	# Run a custom action we define called "read_state" which does
	# what it says. It puts the state in the `:machine_state_id`
	# key in the environment.
	env = @machine.action 'read_state'

	state_id = env[:machine_state_id]

	# Get the short and long description
	short = I18n.t "vagrant_proxmox.states.short_#{state_id}"
	long = I18n.t "vagrant_proxmox.states.long_#{state_id}"

	# Return the MachineState object
	Vagrant::MachineState.new state_id, short, long
end

#to_sObject



43
44
45
46
# File 'lib/vagrant-proxmox/provider.rb', line 43

def to_s
	id = @machine.id.nil? ? 'new' : @machine.id
	"Proxmox (#{id})"
end