Class: Ufo::Stack::Builder::Resources::Listener

Inherits:
Base
  • Object
show all
Defined in:
lib/ufo/stack/builder/resources/listener.rb

Direct Known Subclasses

ListenerSsl

Instance Method Summary collapse

Methods inherited from Base

build, #copy_instance_variables, #initialize, #managed_security_group, #managed_security_groups?, #security_groups

Methods included from Ufo::Settings

#cfn, #network, #settings

Constructor Details

This class inherits a constructor from Ufo::Stack::Builder::Base

Instance Method Details

#buildObject



3
4
5
6
7
8
9
# File 'lib/ufo/stack/builder/resources/listener.rb', line 3

def build
  {
    Type: "AWS::ElasticLoadBalancingV2::Listener",
    Condition: "CreateElbIsTrue",
    Properties: properties,
  }
end

#portObject



38
39
40
# File 'lib/ufo/stack/builder/resources/listener.rb', line 38

def port
  80
end

#propertiesObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/ufo/stack/builder/resources/listener.rb', line 11

def properties
  props = {
    DefaultActions: [
      {
        Type: "forward",
        TargetGroupArn: {
          "Fn::If": [
            "ElbTargetGroupIsBlank",
            {Ref: "TargetGroup"},
            {Ref: "ElbTargetGroup"}
          ]
        }
      }
    ],
    LoadBalancerArn: {Ref: "Elb"},
    Protocol: protocol,
  }

  props[:Port] = port if port

  props
end

#protocolObject



34
35
36
# File 'lib/ufo/stack/builder/resources/listener.rb', line 34

def protocol
  @default_listener_protocol
end