class Vagrant::Plugin::V2::Provisioner

This is the base class for a provisioner for the V2 API. A provisioner is primarily responsible for installing software on a Vagrant guest.

Attributes

config[R]
machine[R]

Public Class Methods

new(machine, config) click to toggle source

Initializes the provisioner with the machine that it will be provisioning along with the provisioner configuration (if there is any).

The provisioner should not do anything at this point except initialize internal state.

@param [Machine] machine The machine that this will be provisioning. @param [Object] config Provisioner configuration, if one was set.

# File lib/vagrant/plugin/v2/provisioner.rb, line 19
def initialize(machine, config)
  @machine = machine
  @config  = config
end

Public Instance Methods

cleanup() click to toggle source

This is the method called when destroying a machine that allows for any state related to the machine created by the provisioner to be cleaned up.

# File lib/vagrant/plugin/v2/provisioner.rb, line 48
def cleanup
end
configure(root_config) click to toggle source

Called with the root configuration of the machine so the provisioner can add some configuration on top of the machine.

During this step, and this step only, the provisioner should modify the root machine configuration to add any additional features it may need. Examples include sharing folders, networking, and so on. This step is guaranteed to be called before any of those steps are done so the provisioner may do that.

No return value is expected.

# File lib/vagrant/plugin/v2/provisioner.rb, line 34
def configure(root_config)
end
provision() click to toggle source

This is the method called when the actual provisioning should be done. The communicator is guaranteed to be ready at this point, and any shared folders or networks are already setup.

No return value is expected.

# File lib/vagrant/plugin/v2/provisioner.rb, line 42
def provision
end