class Tsudura::Provisioner::Ansible::CommandGenerator

Public Class Methods

new(config) click to toggle source
# File lib/tsudura/provisioner/ansible/command_generator.rb, line 4
def initialize(config)
  @config = config
end

Public Instance Methods

generate() click to toggle source
# File lib/tsudura/provisioner/ansible/command_generator.rb, line 8
def generate
   exec_command = []
   exec_command << base_command
   exec_command << vault_option if use_vault_option?
   exec_command.join(" ")
end
use_vault_option?() click to toggle source
# File lib/tsudura/provisioner/ansible/command_generator.rb, line 15
def use_vault_option?
  @config[:vault_password] ? true : false
end

Private Instance Methods

base_command() click to toggle source
# File lib/tsudura/provisioner/ansible/command_generator.rb, line 21
def base_command
  "ansible-playbook #{@config[:playbook_path]} -i #{@config[:inventory_file]}"
end
create_vault_password_file() click to toggle source
# File lib/tsudura/provisioner/ansible/command_generator.rb, line 30
def create_vault_password_file
  tmp_password_file << @config[:vault_password]
  tmp_password_file.close
end
tmp_password_file() click to toggle source
# File lib/tsudura/provisioner/ansible/command_generator.rb, line 39
def tmp_password_file
  @tmp_password_file ||= Tempfile.new("tsudura.#{@config[:service]}")
end
vault_option() click to toggle source
# File lib/tsudura/provisioner/ansible/command_generator.rb, line 25
def vault_option
  create_vault_password_file
  vault_password_file_option
end
vault_password_file_option() click to toggle source
# File lib/tsudura/provisioner/ansible/command_generator.rb, line 35
def vault_password_file_option
  "--vault-password-file #{tmp_password_file.path}"
end