Skip to content

Commit cdcc75e

Browse files
authored
Merge pull request #23 from Samseppiol/master
Update cfndsl yaml config standard to use external_parameters
2 parents bd62fc1 + 59820ad commit cdcc75e

1 file changed

Lines changed: 27 additions & 15 deletions

File tree

loadbalancer.cfndsl.rb

Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,42 @@
11

22
CloudFormation do
3+
4+
loadbalancer_scheme = external_parameters[:loadbalancer_scheme]
5+
maximum_availability_zones = external_parameters[:maximum_availability_zones]
6+
loadbalancer_type = external_parameters[:loadbalancer_type]
7+
static_ips = external_parameters[:static_ips]
8+
39
private = false
4-
if defined?(loadbalancer_scheme) && loadbalancer_scheme == 'internal'
10+
if loadbalancer_scheme == 'internal'
511
private = true
612
end
713

814
az_conditions_resources('SubnetPublic', maximum_availability_zones) unless private
915
az_conditions_resources('SubnetCompute', maximum_availability_zones) if private
1016
nlb_eip_conditions(maximum_availability_zones) if (loadbalancer_type == 'network') && !(private) && (static_ips)
1117

18+
securityGroups = external_parameters[:securityGroups]
19+
ip_blocks = external_parameters[:ip_blocks]
1220
EC2_SecurityGroup('SecurityGroupLoadBalancer') do
13-
GroupDescription FnJoin(' ', [Ref('EnvironmentName'), component_name])
21+
GroupDescription FnJoin(' ', [Ref('EnvironmentName'), external_parameters[:component_name]])
1422
VpcId Ref('VPCId')
1523
SecurityGroupIngress sg_create_rules(securityGroups['loadbalancer'], ip_blocks)
1624
end
1725

1826
atributes = []
19-
27+
loadbalancer_attributes = external_parameters.fetch(:loadbalancer_attributes, {})
2028
loadbalancer_attributes.each do |key, value|
2129
atributes << { Key: key, Value: value } unless value.nil?
22-
end if defined? loadbalancer_attributes
30+
end
2331

2432
tags = []
2533
tags << { Key: "Environment", Value: Ref("EnvironmentName") }
2634
tags << { Key: "EnvironmentType", Value: Ref("EnvironmentType") }
2735

36+
loadbalancer_tags = external_parameters[:loadbalancer_tags]
2837
loadbalancer_tags.each do |key, value|
2938
tags << { Key: key, Value: value }
30-
end if defined? loadbalancer_tags
39+
end
3140

3241
ElasticLoadBalancingV2_LoadBalancer('LoadBalancer') do
3342

@@ -51,6 +60,7 @@
5160
LoadBalancerAttributes atributes if atributes.any?
5261
end
5362

63+
targetgroups = external_parameters[:targetgroups]
5464
targetgroups.each do |tg_name, tg|
5565

5666
atributes = []
@@ -96,10 +106,11 @@
96106

97107
Output("#{tg_name}TargetGroup") {
98108
Value(Ref("#{tg_name}TargetGroup"))
99-
Export FnSub("${EnvironmentName}-#{component_name}-#{tg_name}TargetGroup")
109+
Export FnSub("${EnvironmentName}-#{external_parameters[:component_name]}-#{tg_name}TargetGroup")
100110
}
101-
end if defined? targetgroups
111+
end
102112

113+
listeners = external_parameters.fetch(:listeners, {})
103114
listeners.each do |listener_name, listener|
104115
next if listener.nil?
105116

@@ -160,10 +171,11 @@
160171

161172
Output("#{listener_name}Listener") {
162173
Value(Ref("#{listener_name}Listener"))
163-
Export FnSub("${EnvironmentName}-#{component_name}-#{listener_name}Listener")
174+
Export FnSub("${EnvironmentName}-#{external_parameters[:component_name]}-#{listener_name}Listener")
164175
}
165-
end if defined? listeners
176+
end
166177

178+
records = external_parameters.fetch(:records, [])
167179
records.each do |record|
168180
Route53_RecordSet("#{record.gsub('*','Wildcard').gsub('.','Dot')}LoadBalancerRecord") do
169181
HostedZoneName FnJoin("", [ Ref("EnvironmentName"), ".", Ref('DnsDomain'), "."])
@@ -178,27 +190,27 @@
178190
HostedZoneId: FnGetAtt("LoadBalancer", "CanonicalHostedZoneID")
179191
})
180192
end
181-
end if defined? records
193+
end
182194

183195
Output("LoadBalancer") {
184196
Value(Ref("LoadBalancer"))
185-
Export FnSub("${EnvironmentName}-#{component_name}-LoadBalancer")
197+
Export FnSub("${EnvironmentName}-#{external_parameters[:component_name]}-LoadBalancer")
186198
}
187199
Output("SecurityGroupLoadBalancer") {
188200
Value(Ref("SecurityGroupLoadBalancer"))
189-
Export FnSub("${EnvironmentName}-#{component_name}-SecurityGroupLoadBalancer")
201+
Export FnSub("${EnvironmentName}-#{external_parameters[:component_name]}-SecurityGroupLoadBalancer")
190202
}
191203
Output("LoadBalancerDNSName") {
192204
Value(FnGetAtt("LoadBalancer", "DNSName"))
193-
Export FnSub("${EnvironmentName}-#{component_name}-DNSName")
205+
Export FnSub("${EnvironmentName}-#{external_parameters[:component_name]}-DNSName")
194206
}
195207
Output("LoadBalancerCanonicalHostedZoneID") {
196208
Value(FnGetAtt("LoadBalancer", "CanonicalHostedZoneID"))
197-
Export FnSub("${EnvironmentName}-#{component_name}-CanonicalHostedZoneID")
209+
Export FnSub("${EnvironmentName}-#{external_parameters[:component_name]}-CanonicalHostedZoneID")
198210
}
199211
Output("LoadBalancerFullName") {
200212
Value(FnGetAtt("LoadBalancer", "LoadBalancerFullName"))
201-
Export FnSub("${EnvironmentName}-#{component_name}-LoadBalancerFullName")
213+
Export FnSub("${EnvironmentName}-#{external_parameters[:component_name]}-LoadBalancerFullName")
202214
}
203215

204216
end

0 commit comments

Comments
 (0)