Sha256: 537a83f00f5a18a5b272633521d39545190fe834567c371c819819498b2fae71
Contents?: true
Size: 1.04 KB
Versions: 5
Compression:
Stored size: 1.04 KB
Contents
module Awsrm class AlbListener < Awsrm::Resource FILTER_MAP = { id: 'listener_arn', arn: 'listener_arn', alb: ->(value) { { load_balancer_arn: Awsrm::Alb.one(name: value).load_balancer_arn } } }.freeze class << self 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 def filters(_params) raise NoMethodError end end end class AlbListenerReader < Awsrm::ResourceReader def id @resource.listener_arn end end end
Version data entries
5 entries across 5 versions & 1 rubygems