Class: DrawCloud::Configuration
- Inherits:
-
Base
- Object
- Base
- DrawCloud::Configuration
show all
- Defined in:
- lib/draw_cloud/configuration.rb
Instance Attribute Summary collapse
Attributes inherited from Base
#as_groups, #as_launch_configurations, #deletion_policy, #depends_on, #ec2_instances, #elastic_ips, #gateways, #iam_access_keys, #iam_policies, #iam_users, #mappings, #metadata, #network_acls, #network_interfaces, #outputs, #parameters, #parent, #rdses, #resources, #route_tables, #security_groups, #sns_topics, #subnets, #vpcs, #wait_handles
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Base
#[], #accessor, #add_standard_properties, #create_as_group, #create_as_launch_configuration, #create_ec2_instance, #create_ec2_instance_template, #create_elastic_ip, #create_iam_access_key, #create_iam_policy, #create_iam_user, #create_mapping, #create_network_acl, #create_network_interface, #create_output, #create_parameter, #create_rds, #create_route_table, #create_security_group, #create_service, #create_sns_topic, #create_subnet, #create_vpc, #create_wait_handle, #load_into_config, #ref, #resource_name
Methods included from Locations
#arn_s3
Methods included from Utilities
#desplice, #fnbase64, #fngetatt, #fnjoin, #hash_to_tag_array, #region, #resource_style, #splice, #stack_name
Constructor Details
#initialize(options = {}, &block) ⇒ Configuration
Returns a new instance of Configuration.
28
29
30
|
# File 'lib/draw_cloud/configuration.rb', line 28
def initialize(options={}, &block)
super(options, &block)
end
|
Instance Attribute Details
#description ⇒ Object
Returns the value of attribute description.
21
22
23
|
# File 'lib/draw_cloud/configuration.rb', line 21
def description
@description
end
|
Class Method Details
.draw(&block) ⇒ Object
22
23
24
25
26
|
# 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
|
Instance Method Details
#cf_add_mapping(name, map) ⇒ Object
48
49
50
|
# File 'lib/draw_cloud/configuration.rb', line 48
def cf_add_mapping(name, map)
mappings[name] = map
end
|
#cf_add_output(name, out) ⇒ Object
57
58
59
|
# File 'lib/draw_cloud/configuration.rb', line 57
def cf_add_output(name, out)
outputs[name] = out
end
|
#cf_add_parameter(name, param) ⇒ Object
51
52
53
|
# File 'lib/draw_cloud/configuration.rb', line 51
def cf_add_parameter(name, param)
parameters[name] = param
end
|
#cf_add_resource(name, res) ⇒ Object
54
55
56
|
# File 'lib/draw_cloud/configuration.rb', line 54
def cf_add_resource(name, res)
resources[name] = res
end
|
#to_cf ⇒ Object
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# 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
|