Sha256: 1a2c6a054abd9a7b09ec04b1652af3ec6d6ea9025e4d7e239c64cce07c8c1afa

Contents?: true

Size: 1.22 KB

Versions: 6

Compression:

Stored size: 1.22 KB

Contents

module VagrantPlugins
  module Invade
    module Generator
      module MachinePart

        class Provision

          attr_accessor :machine_name, :name, :provision_data

          def initialize(machine_name, name, provision_data)
            @machine_name = machine_name
            @name = name
            @provision_data = provision_data
          end

          def generate
            case @provision_data['type']
            when 'shell'
              provision = Builder::Provision::Shell.new(@machine_name, @name, @provision_data)
            when 'shell-inline', 'inline', 'shellinline'
              provision = Builder::Provision::ShellInline.new(@machine_name, @name, @provision_data)
            when 'puppet', 'puppetapply', 'puppet-apply'
              provision = Builder::Provision::PuppetApply.new(@machine_name, @provision_data)
            when 'puppet-agent', 'puppetagent'
              provision = Builder::Provision::PuppetAgent.new(@machine_name, @provision_data)
            else
              raise StandardError, "Provisioner unknown or not set. Please check the provision configuration."
            end

            provision.build

            provision.result
          end

        end

      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
vagrant-invade-0.5.5 lib/vagrant-invade/generator/machine_part/provision.rb
vagrant-invade-0.5.4 lib/vagrant-invade/generator/machine_part/provision.rb
vagrant-invade-0.5.3 lib/vagrant-invade/generator/machine_part/provision.rb
vagrant-invade-0.5.2 lib/vagrant-invade/generator/machine_part/provision.rb
vagrant-invade-0.5.1 lib/vagrant-invade/generator/machine_part/provision.rb
vagrant-invade-0.5.0 lib/vagrant-invade/generator/machine_part/provision.rb