Sha256: f9778086b428c8ee6f7390dbd5592466f0ab7d2ce78b704fdd47066acb7df29f

Contents?: true

Size: 1.19 KB

Versions: 58

Compression:

Stored size: 1.19 KB

Contents

require "vagrant/util/presence"

require_relative "base"

module VagrantPlugins
  module Chef
    module Config
      class ChefApply < Base
        include Vagrant::Util::Presence

        # The raw recipe text (as a string) to execute via chef-apply.
        # @return [String]
        attr_accessor :recipe

        # The path (on the guest) where the uploaded apply recipe should be
        # written (/tmp/vagrant-chef-apply-#.rb).
        # @return [String]
        attr_accessor :upload_path

        def initialize
          super

          @recipe      = UNSET_VALUE
          @upload_path = UNSET_VALUE
        end

        def finalize!
          super

          @recipe = nil if @recipe == UNSET_VALUE
          @upload_path = "/tmp/vagrant-chef-apply" if @upload_path == UNSET_VALUE
        end

        def validate(machine)
          errors = validate_base(machine)

          if !present?(recipe)
            errors << I18n.t("vagrant.provisioners.chef.recipe_empty")
          end

          if !present?(upload_path)
            errors << I18n.t("vagrant.provisioners.chef.upload_path_empty")
          end

          { "chef apply provisioner" => errors }
        end
      end
    end
  end
end

Version data entries

58 entries across 54 versions & 6 rubygems

Version Path
vagrant-unbundled-2.2.0.0 plugins/provisioners/chef/config/chef_apply.rb
vagrant-unbundled-2.1.4.0 plugins/provisioners/chef/config/chef_apply.rb
vagrant-unbundled-2.1.2.0 plugins/provisioners/chef/config/chef_apply.rb
vagrant-packet-0.1.2 vendor/bundle/ruby/2.5.0/bundler/gems/vagrant-04f7215b5e3f/plugins/provisioners/chef/config/chef_apply.rb
vagrant-packet-0.1.2 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-04f7215b5e3f/plugins/provisioners/chef/config/chef_apply.rb
vagrant-packet-0.1.2 vendor/bundle/ruby/2.4.0/bundler/gems/vagrant-04f7215b5e3f/plugins/provisioners/chef/config/chef_apply.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.5.0/bundler/gems/vagrant-04f7215b5e3f/plugins/provisioners/chef/config/chef_apply.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.4.0/bundler/gems/vagrant-04f7215b5e3f/plugins/provisioners/chef/config/chef_apply.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-04f7215b5e3f/plugins/provisioners/chef/config/chef_apply.rb
vagrant-unbundled-2.1.1.0 plugins/provisioners/chef/config/chef_apply.rb
vagrant-unbundled-2.0.4.0 plugins/provisioners/chef/config/chef_apply.rb
vagrant-unbundled-2.0.3.0 plugins/provisioners/chef/config/chef_apply.rb
vagrant-aws-detiber-0.7.2.pre.4 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-419afb4dcffe/plugins/provisioners/chef/config/chef_apply.rb
vagrant-aws-detiber-0.7.2.pre.3 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-419afb4dcffe/plugins/provisioners/chef/config/chef_apply.rb
vagrant-aws-detiber-0.7.2.pre.2 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-419afb4dcffe/plugins/provisioners/chef/config/chef_apply.rb
vagrant-unbundled-2.0.2.0 plugins/provisioners/chef/config/chef_apply.rb
vagrant-unbundled-2.0.1.0 plugins/provisioners/chef/config/chef_apply.rb
vagrant-aws-mkubenka-0.7.2.pre.22 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-f3fdbf414272/plugins/provisioners/chef/config/chef_apply.rb
vagrant-aws-mkubenka-0.7.2.pre.16 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-1ee58c40e3f5/plugins/provisioners/chef/config/chef_apply.rb
vagrant-unbundled-2.0.0.1 plugins/provisioners/chef/config/chef_apply.rb