55 lines
1.5 KiB
Ruby
55 lines
1.5 KiB
Ruby
require_relative "base"
|
|
|
|
module VagrantPlugins
|
|
module Ansible
|
|
module Config
|
|
class Host < Base
|
|
|
|
attr_accessor :ask_sudo_pass
|
|
attr_accessor :ask_vault_pass
|
|
attr_accessor :force_remote_user
|
|
attr_accessor :host_key_checking
|
|
attr_accessor :raw_ssh_args
|
|
|
|
def initialize
|
|
super
|
|
|
|
@ask_sudo_pass = false
|
|
@ask_vault_pass = false
|
|
@force_remote_user = true
|
|
@host_key_checking = false
|
|
@raw_ssh_args = UNSET_VALUE
|
|
end
|
|
|
|
def finalize!
|
|
super
|
|
|
|
@ask_sudo_pass = false if @ask_sudo_pass != true
|
|
@ask_vault_pass = false if @ask_vault_pass != true
|
|
@force_remote_user = true if @force_remote_user != false
|
|
@host_key_checking = false if @host_key_checking != true
|
|
@raw_ssh_args = nil if @raw_ssh_args == UNSET_VALUE
|
|
end
|
|
|
|
def validate(machine)
|
|
super
|
|
|
|
if raw_ssh_args
|
|
if raw_ssh_args.kind_of?(String)
|
|
@raw_ssh_args = [raw_ssh_args]
|
|
elsif !raw_ssh_args.kind_of?(Array)
|
|
@errors << I18n.t(
|
|
"vagrant.provisioners.ansible.errors.raw_ssh_args_invalid",
|
|
type: raw_ssh_args.class.to_s,
|
|
value: raw_ssh_args.to_s)
|
|
end
|
|
end
|
|
|
|
{ "ansible remote provisioner" => @errors }
|
|
end
|
|
|
|
end
|
|
end
|
|
end
|
|
end
|