class Terraspace::Terraform::Args::Custom

Attributes

name[RW]

Public Class Methods

new(mod, name) click to toggle source
# File lib/terraspace/terraform/args/custom.rb, line 8
def initialize(mod, name)
  @mod, @name = mod, name
  @commands = {}
end

Public Instance Methods

args() click to toggle source
# File lib/terraspace/terraform/args/custom.rb, line 20
def args
  build
  args = dig("args")
  args.compact.flatten
end
build() click to toggle source
# File lib/terraspace/terraform/args/custom.rb, line 13
def build
  evaluate_file("#{Terraspace.root}/config/args/terraform.rb")
  evaluate_file("#{@mod.root}/config/args/terraform.rb")
  @commands.deep_stringify_keys!
end
dig(prop, default=[]) click to toggle source
# File lib/terraspace/terraform/args/custom.rb, line 42
def dig(prop, default=[])
  @commands.dig(@name, prop) || default
end
env_vars() click to toggle source
# File lib/terraspace/terraform/args/custom.rb, line 33
def env_vars
  build
  dig("env", {})
end
var_file_exist?(var_file) click to toggle source
# File lib/terraspace/terraform/args/custom.rb, line 38
def var_file_exist?(var_file)
  File.exist?("#{@mod.cache_dir}/#{var_file}")
end
var_files() click to toggle source
# File lib/terraspace/terraform/args/custom.rb, line 26
def var_files
  build
  var_files = dig("var_files")
  var_files.select! { |f| var_file_exist?(f) }
  var_files.map { |f| "-var-file=#{f}" }
end