<% 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 %> <% 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 -%>