class Packer::Provisioner
Constants
- ANSIBLE
- CHEF_CLIENT
- CHEF_SOLO
- FILE
- POWERSHELL
- PUPPET_MASTERLESS
- PUPPET_SERVER
- SALT
- SHELL
- VALID_PROVISIONER_TYPES
- WINDOWS_RESTART
- WINDOWS_SHELL
Public Class Methods
get_provisioner(type)
click to toggle source
# File lib/packer/provisioner.rb, line 36 def self.get_provisioner(type) unless validate_type(type) raise UnrecognizedProvisionerTypeError.new("Unrecognized provisioner type #{type}") end { SHELL => Packer::Provisioner::Shell, WINDOWS_SHELL => Packer::Provisioner::WindowsShell, POWERSHELL => Packer::Provisioner::Powershell, FILE => Packer::Provisioner::File, SALT => Packer::Provisioner::Salt, ANSIBLE => Packer::Provisioner::Ansible, CHEF_CLIENT => Packer::Provisioner::Chef::Client, CHEF_SOLO => Packer::Provisioner::Chef::Solo, PUPPET_MASTERLESS => Packer::Provisioner::Puppet::Masterless, PUPPET_SERVER => Packer::Provisioner::Puppet::Server, WINDOWS_RESTART => Packer::Provisioner::WindowsRestart }.fetch(type).new end
new()
click to toggle source
Calls superclass method
Packer::DataObject::new
# File lib/packer/provisioner.rb, line 60 def initialize super self.add_required('type') end
types()
click to toggle source
# File lib/packer/provisioner.rb, line 56 def self.types VALID_PROVISIONER_TYPES end
Private Class Methods
validate_type(type)
click to toggle source
# File lib/packer/provisioner.rb, line 96 def self.validate_type(type) VALID_PROVISIONER_TYPES.include? type end
Public Instance Methods
except(buildname)
click to toggle source
# File lib/packer/provisioner.rb, line 72 def except(buildname) unless self.data.key? 'except' self.data['except'] = [] end self.data['except'] << buildname.to_s end
only(buildname)
click to toggle source
# File lib/packer/provisioner.rb, line 65 def only(buildname) unless self.data.key? 'only' self.data['only'] = [] end self.data['only'] << buildname.to_s end
override(builddefinition, values)
click to toggle source
# File lib/packer/provisioner.rb, line 83 def override(builddefinition, values) raise TypeError.new() unless values.is_a?(Hash) unless self.data.key? 'override' self.data['override'] = {} end if self.data.key? @data['override'][builddefinition] self.data['override'][builddefinition].merge! values else self.data['override'][builddefinition] = values end end
pause_before(duration)
click to toggle source
# File lib/packer/provisioner.rb, line 79 def pause_before(duration) self.data["pause_before"] = duration.to_s end