Sha256: 251b69bbc3aff0fc5652afcf38027f24b6fd27121ecce531702a3b3226c80e04

Contents?: true

Size: 1.29 KB

Versions: 41

Compression:

Stored size: 1.29 KB

Contents

module Awspec::Helper
  module Finder
    module Alb
      def find_alb(id)
        res = elbv2_client.describe_load_balancers({ names: [id] })
        res.load_balancers.select do |lb|
          lb.type == 'application'
        end.single_resource(id)
      rescue
        return nil
      end

      def select_alb_by_vpc_id(vpc_id)
        res = elbv2_client.describe_load_balancers
        res.load_balancers.select do |lb|
          lb.vpc_id == vpc_id && lb.type == 'application'
        end
      end

      def find_alb_listener(arn)
        res = elbv2_client.describe_listeners({ listener_arns: [arn] })
        res.listeners.single_resource(arn)
      rescue
        return nil
      end

      def find_alb_target_group(id)
        res = elbv2_client.describe_target_groups({ names: [id] })
        res.target_groups.select do |tg|
          %w(HTTP HTTPS).include?(tg.protocol)
        end.single_resource(id)
      rescue
        return nil
      end

      def select_rule_by_alb_listener_id(id)
        selected = []
        next_marker = nil
        loop do
          res = elbv2_client.describe_rules(marker: next_marker, listener_arn: id)
          selected += res.rules unless res.nil?
          (res.nil? && next_marker = res.next_marker) || break
        end
        selected
      end
    end
  end
end

Version data entries

41 entries across 41 versions & 2 rubygems

Version Path
awspec-1.12.7 lib/awspec/helper/finder/alb.rb
awspec-1.12.6 lib/awspec/helper/finder/alb.rb
awspec-1.12.5 lib/awspec/helper/finder/alb.rb
awspec-1.12.4 lib/awspec/helper/finder/alb.rb
awspec-1.12.3 lib/awspec/helper/finder/alb.rb
awspec-1.12.2 lib/awspec/helper/finder/alb.rb
awspec-1.12.1 lib/awspec/helper/finder/alb.rb
awspec-1.12.0 lib/awspec/helper/finder/alb.rb
awspec-1.11.1 lib/awspec/helper/finder/alb.rb
awspec-1.11.0 lib/awspec/helper/finder/alb.rb
awspec-1.10.0 lib/awspec/helper/finder/alb.rb
awspec-1.9.0 lib/awspec/helper/finder/alb.rb
awspec-1.8.0 lib/awspec/helper/finder/alb.rb
awspec-1.7.0 lib/awspec/helper/finder/alb.rb
awspec-1.6.1 lib/awspec/helper/finder/alb.rb
awspec-1.6.0 lib/awspec/helper/finder/alb.rb
awspec-1.5.4 lib/awspec/helper/finder/alb.rb
awspec-1.5.3 lib/awspec/helper/finder/alb.rb
awspec-1.5.2 lib/awspec/helper/finder/alb.rb
awspec-1.5.1 lib/awspec/helper/finder/alb.rb