class TerraformDSL::AWS::Resource
Attributes
parent[R]
Public Instance Methods
accept(visitor)
click to toggle source
# File lib/terraformdsl/aws.rb, line 19 def accept(visitor) method = 'on_' + self.class.name.sub(/^.*?AWS::/, '').gsub('::', '_') visitor.__send__(method, self) do @children.each do |x| x.accept(visitor) end if @children end end
attr(attr)
click to toggle source
# File lib/terraformdsl/aws.rb, line 28 def attr(attr) raise NotImplementedError.new("#{self.class.name}#attr(#{attr.inspect}): not available.") end
set_parent(resource)
click to toggle source
# File lib/terraformdsl/aws.rb, line 12 def set_parent(resource) @parent.nil? or raise "already parent set." @parent = resource end
Private Instance Methods
add_resource(res, &blk)
click to toggle source
# File lib/terraformdsl/aws.rb, line 34 def add_resource(res, &blk) res.set_parent(self) (@children ||= []) << res res.instance_exec(res, &blk) if blk return res end
let(*args) { |*args| ... }
click to toggle source
# File lib/terraformdsl/aws.rb, line 41 def let(*args) yield *args end