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