lib/terraforming/template/tf/elb.erb
<% load_balancers.each do |load_balancer| -%>
<%- load_balancer_attributes = load_balancer_attributes_of(load_balancer) -%>
resource "aws_elb" "<%= module_name_of(load_balancer) %>" {
name = "<%= load_balancer.load_balancer_name %>"
<%- if vpc_elb?(load_balancer) -%>
subnets = <%= load_balancer.subnets.inspect %>
<%- else -%>
availability_zones = <%= load_balancer.availability_zones.inspect %>
<%- end -%>
security_groups = <%= load_balancer.security_groups.inspect %>
instances = <%= load_balancer.instances.map { |instance| instance.instance_id }.inspect %>
cross_zone_load_balancing = <%= load_balancer_attributes.cross_zone_load_balancing.enabled %>
idle_timeout = <%= load_balancer_attributes.connection_settings.idle_timeout %>
connection_draining = <%= load_balancer_attributes.connection_draining.enabled %>
connection_draining_timeout = <%= load_balancer_attributes.connection_draining.timeout %>
internal = <%= internal?(load_balancer).to_s %>
<%- if load_balancer_attributes.access_log.enabled -%>
access_logs {
bucket = "<%= load_balancer_attributes.access_log.s3_bucket_name %>"
bucket_prefix = "<%= load_balancer_attributes.access_log.s3_bucket_prefix %>"
interval = <%= load_balancer_attributes.access_log.emit_interval %>
}
<%- end -%>
<% load_balancer.listener_descriptions.map { |ld| ld.listener }.map do |listener| -%>
listener {
instance_port = <%= listener.instance_port %>
instance_protocol = "<%= listener.instance_protocol.downcase %>"
lb_port = <%= listener.load_balancer_port %>
lb_protocol = "<%= listener.protocol.downcase %>"
ssl_certificate_id = "<%= listener.ssl_certificate_id %>"
}
<% end -%>
health_check {
healthy_threshold = <%= load_balancer.health_check.healthy_threshold %>
unhealthy_threshold = <%= load_balancer.health_check.unhealthy_threshold %>
interval = <%= load_balancer.health_check.interval %>
target = "<%= load_balancer.health_check.target %>"
timeout = <%= load_balancer.health_check.timeout %>
}
tags {
<% @client.describe_tags(load_balancer_names: [load_balancer.load_balancer_name]).tag_descriptions.first.tags.each do |tag| -%>
"<%= tag.key %>" = "<%= tag.value %>"
<% end -%>
}
}
<% end -%>