class Terraformer::CLI

Public Instance Methods

cwa() click to toggle source
# File lib/terraformer/cli.rb, line 12
def cwa
  execute(Terraformer::Resource::CloudWatchAlarm, options)
end
dm() click to toggle source
# File lib/terraformer/cli.rb, line 17
def dm
  execute(Terraformer::Resource::DatadogMonitor, options)
end

Private Instance Methods

execute(klass, options) click to toggle source
# File lib/terraformer/cli.rb, line 35
def execute(klass, options)
  klass_name = klass.name
  options = symbolize(options)
  response = klass.execute(options) 

  Terraformer::Terraform.execute(response, klass_name, options)
end
symbolize(obj) click to toggle source
# File lib/terraformer/cli.rb, line 23
def symbolize(obj)
  return obj.reduce({}) do |memo, (k, v)|
    memo.tap { |m| m[k.to_sym] = symbolize(v) }
  end if obj.is_a? Hash
    
  return obj.reduce([]) do |memo, v| 
    memo << symbolize(v); memo
  end if obj.is_a? Array
  
  obj
end