class DrawCloud::Configuration
Attributes
description[RW]
Public Class Methods
draw(&block)
click to toggle source
# File lib/draw_cloud/configuration.rb, line 22 def self.draw(&block) c = Configuration.new c.instance_exec(c, &block) puts JSON.pretty_generate(c.to_cf) end
new(options={}, &block)
click to toggle source
Calls superclass method
DrawCloud::Base::new
# File lib/draw_cloud/configuration.rb, line 28 def initialize(options={}, &block) super(options, &block) end
Public Instance Methods
cf_add_mapping(name, map)
click to toggle source
# File lib/draw_cloud/configuration.rb, line 48 def cf_add_mapping(name, map) mappings[name] = map end
cf_add_output(name, out)
click to toggle source
# File lib/draw_cloud/configuration.rb, line 57 def cf_add_output(name, out) outputs[name] = out end
cf_add_parameter(name, param)
click to toggle source
# File lib/draw_cloud/configuration.rb, line 51 def cf_add_parameter(name, param) parameters[name] = param end
cf_add_resource(name, res)
click to toggle source
# File lib/draw_cloud/configuration.rb, line 54 def cf_add_resource(name, res) resources[name] = res end
to_cf()
click to toggle source
# File lib/draw_cloud/configuration.rb, line 32 def to_cf h = {"AWSTemplateFormatVersion" => "2010-09-09"} h["Description"] = description if description c = Configuration.new self.load_into_config(c) { "Mappings" => c.mappings, "Parameters" => c.parameters, "Resources" => c.resources, "Outputs" => c.outputs }.each do |(key, values)| h[key] = Hash[*values.collect {|k,v| [k, v.to_h]}.flatten] unless values.empty? end h end