Method: TFWrapper::RakeTasks#install_write_tf_vars

Defined in:
lib/tfwrapper/raketasks.rb

#install_write_tf_varsObject

add the ‘tf:write_tf_vars’ Rake task



317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
# File 'lib/tfwrapper/raketasks.rb', line 317

def install_write_tf_vars
  namespace nsprefix do
    desc "Write #{var_file_path}"
    task :write_tf_vars do |t|
      @before_proc.call(t.name, @tf_dir) unless @before_proc.nil?
      tf_vars = terraform_vars
      puts 'Terraform vars:'
      tf_vars.sort.map do |k, v|
        redacted_list = (%w[aws_access_key aws_secret_key] +
                         @tf_sensitive_vars)
        if redacted_list.include?(k)
          puts "#{k} => (redacted)"
        else
          puts "#{k} => #{v}"
        end
      end
      File.open(var_file_path, 'w') do |f|
        f.write(tf_vars.to_json)
      end
      STDERR.puts "Terraform vars written to: #{var_file_path}"
      @after_proc.call(t.name, @tf_dir) unless @after_proc.nil?
    end
  end
end