vagrant/plugins/provisioners/chef/plugin.rb
Chris Roberts ea25996b21
Update Vagrant behavior outside of installers
Remove customized require behaviors and modify the bin executable
to check for missing tools that Vagrant expects to exist when
running outside of an installer.
2025-04-02 11:40:17 -07:00

108 lines
2.8 KiB
Ruby

# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "pathname"
require_relative "command_builder"
module VagrantPlugins
module Chef
class Plugin < Vagrant.plugin("2")
name "chef"
description <<-DESC
Provides support for provisioning your virtual machines with
Chef via `chef-solo`, `chef-client`, `chef-zero` or `chef-apply`.
DESC
config(:chef_apply, :provisioner) do
require_relative "config/chef_apply"
Config::ChefApply
end
config(:chef_client, :provisioner) do
require_relative "config/chef_client"
Config::ChefClient
end
config(:chef_solo, :provisioner) do
require_relative "config/chef_solo"
Config::ChefSolo
end
config(:chef_zero, :provisioner) do
require_relative "config/chef_zero"
Config::ChefZero
end
provisioner(:chef_apply) do
require_relative "provisioner/chef_apply"
Provisioner::ChefApply
end
provisioner(:chef_client) do
require_relative "provisioner/chef_client"
Provisioner::ChefClient
end
provisioner(:chef_solo) do
require_relative "provisioner/chef_solo"
Provisioner::ChefSolo
end
provisioner(:chef_zero) do
require_relative "provisioner/chef_zero"
Provisioner::ChefZero
end
guest_capability(:debian, :chef_install) do
require_relative "cap/debian/chef_install"
Cap::Debian::ChefInstall
end
guest_capability(:freebsd, :chef_install) do
require_relative "cap/freebsd/chef_install"
Cap::FreeBSD::ChefInstall
end
guest_capability(:freebsd, :chef_installed) do
require_relative "cap/freebsd/chef_installed"
Cap::FreeBSD::ChefInstalled
end
guest_capability(:linux, :chef_installed) do
require_relative "cap/linux/chef_installed"
Cap::Linux::ChefInstalled
end
guest_capability(:omnios, :chef_install) do
require_relative "cap/omnios/chef_install"
Cap::OmniOS::ChefInstall
end
guest_capability(:omnios, :chef_installed) do
require_relative "cap/omnios/chef_installed"
Cap::OmniOS::ChefInstalled
end
guest_capability(:redhat, :chef_install) do
require_relative "cap/redhat/chef_install"
Cap::Redhat::ChefInstall
end
guest_capability(:suse, :chef_install) do
require_relative "cap/suse/chef_install"
Cap::Suse::ChefInstall
end
guest_capability(:windows, :chef_install) do
require_relative "cap/windows/chef_install"
Cap::Windows::ChefInstall
end
guest_capability(:windows, :chef_installed) do
require_relative "cap/windows/chef_installed"
Cap::Windows::ChefInstalled
end
end
end
end