Sha256: 24686e221a8abace845a866e1b898c5d6adabfad25c7220fca6efcefea5fece2

Contents?: true

Size: 1.19 KB

Versions: 5

Compression:

Stored size: 1.19 KB

Contents

module VagrantPlugins
  module Invade
    module Generator
      module Section

        class Provision

          attr_accessor :machine_name, :type, :provision_data

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

          def generate
            case @type
            when 'shell'
              provision = Builder::Provision::Shell.new(@machine_name, @provision_data)
            when 'shell_inline', 'inline', 'shellinline'
              provision = Builder::Provision::ShellInline.new(@machine_name, @provision_data)
            when 'puppet', 'puppetappy', '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

5 entries across 5 versions & 1 rubygems

Version Path
vagrant-invade-0.4.4 lib/vagrant-invade/generator/section/provision.rb
vagrant-invade-0.4.3 lib/vagrant-invade/generator/section/provision.rb
vagrant-invade-0.4.2 lib/vagrant-invade/generator/section/provision.rb
vagrant-invade-0.4.1 lib/vagrant-invade/generator/section/provision.rb
vagrant-invade-0.4.0 lib/vagrant-invade/generator/section/provision.rb