Method: Awsrm::AlbListener.all

Defined in:
lib/awsrm/resources/alb_listener.rb

.all(params) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/awsrm/resources/alb_listener.rb', line 10

def all(params)
  listeners = params.map do |key, value|
    raise UndefinedFilterParamError, key unless self::FILTER_MAP.key?(key)
    if self::FILTER_MAP[key].is_a?(Proc)
      next elbv2_client.describe_listeners(self::FILTER_MAP[key].call(value)).map do |responce|
        responce.listeners
      end.flatten
    end
    elbv2_client.describe_listeners(listener_arns: [value]).map do |responce|
      responce.listeners
    end.flatten
  end.flatten
  listeners.map do |listener|
    AlbListenerReader.new(listener)
  end
end