Class: TerraformDSL::Var

Inherits:
Object
  • Object
show all
Defined in:
lib/terraformdsl/common.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, desc = nil, default: nil) ⇒ Var

Returns a new instance of Var.



57
58
59
60
61
62
# File 'lib/terraformdsl/common.rb', line 57

def initialize(name, desc=nil, default: nil)
  name = name.intern if name.is_a?(String)
  @name = name
  @desc = desc
  @default = default
end

Instance Attribute Details

#defaultObject (readonly)

Returns the value of attribute default.



63
64
65
# File 'lib/terraformdsl/common.rb', line 63

def default
  @default
end

#descObject (readonly)

Returns the value of attribute desc.



63
64
65
# File 'lib/terraformdsl/common.rb', line 63

def desc
  @desc
end

#nameObject (readonly)

Returns the value of attribute name.



63
64
65
# File 'lib/terraformdsl/common.rb', line 63

def name
  @name
end

Instance Method Details

#generate_tfObject



69
70
71
72
73
74
75
76
77
# File 'lib/terraformdsl/common.rb', line 69

def generate_tf
  k = @name; v = @default; d = @desc
  tf = "variable %-18s {" % "\"#{k}\""
  tf << "\n"                                 if ! v.nil? || ! d.nil?
  tf << "  description = #{d.inspect}\n" if ! d.nil?
  tf << "  default = #{v.inspect}\n"     if ! v.nil?
  tf << "}\n"
  return tf
end

#inspectObject



79
80
81
# File 'lib/terraformdsl/common.rb', line 79

def inspect
  to_s()
end

#to_sObject



65
66
67
# File 'lib/terraformdsl/common.rb', line 65

def to_s
  "${var.#{@name}}"
end