class Kitchen::Provisioner::Ansible::Os
Attributes
name[RW]
Public Class Methods
make(platform, config)
click to toggle source
# File lib/kitchen/provisioner/ansible/os.rb, line 41 def self.make(platform, config) return nil if platform == '' case platform when 'debian', 'ubuntu' return Debian.new(platform, config) when 'redhat', 'centos' return Redhat.new(platform, config) when 'fedora' return Fedora.new(platform, config) when 'amazon' return Amazon.new(platform, config) when 'suse', 'opensuse', 'sles' return Suse.new(platform, config) when 'darwin', 'mac', 'macos', 'macosx' return Darwin.new(platform, config) when 'alpine' return Alpine.new(platform, config) when 'openbsd' return Openbsd.new(platform, config) when 'freebsd' return Freebsd.new(platform, config) end nil end
new(name, config)
click to toggle source
# File lib/kitchen/provisioner/ansible/os.rb, line 36 def initialize(name, config) @config = config @name = name end
Public Instance Methods
sudo(script)
click to toggle source
Taken from github.com/test-kitchen/test-kitchen/blob/master/lib/kitchen/provisioner/base.rb
# File lib/kitchen/provisioner/ansible/os.rb, line 77 def sudo(script) @config[:sudo] ? "#{@config[:sudo_command]} #{script}" : script end
sudo_env(pm)
click to toggle source
Helpers
# File lib/kitchen/provisioner/ansible/os.rb, line 69 def sudo_env(pm) s = @config[:https_proxy] ? "https_proxy=#{@config[:https_proxy]}" : nil p = @config[:http_proxy] ? "http_proxy=#{@config[:http_proxy]}" : nil n = @config[:no_proxy] ? "no_proxy=#{@config[:no_proxy]}" : nil p || s ? "#{sudo('env')} #{p} #{s} #{n} #{pm}" : "#{sudo(pm)}" end