Sha256: 29a1d43f0fd33726d10f1f2ca117e517cae4f324393975cac23f7ae9f8e6a5ed

Contents?: true

Size: 1.55 KB

Versions: 39

Compression:

Stored size: 1.55 KB

Contents

module Awspec::Type
  class Elb < Base
    def initialize(id)
      super
      @resource = find_elb(id)
      @id = @resource[:load_balancer_name] if @resource
    end

    health_check_options = %w(
      target interval timeout
      unhealthy_threshold healthy_threshold
    )

    health_check_options.each do |option|
      define_method 'health_check_' + option do
        @resource[:health_check][option]
      end
    end

    def has_ec2?(id)
      ec2 = find_ec2(id)
      @resource.instances.find do |instance|
        instance.instance_id = ec2.instance_id
      end if ec2
    end

    def has_security_group?(sg_id)
      sgs = @resource[:security_groups]
      ret = sgs.find do |sg|
        sg == sg_id
      end
      return true if ret
      sg2 = find_security_group(sg_id)
      return false unless sg2.tag_name == sg_id || sg2[:group_name] == sg_id
      sgs.find do |sg|
        sg == sg2[:group_name]
      end
    end

    def has_subnet?(subnet_id)
      subnets = @resource[:subnets]
      ret = subnets.find do |s|
        s == subnet_id
      end
      return true if ret
      res = find_subnet(subnet_id)
      ret = subnets.find do |s|
        s == res[:subnet_id]
      end
    end

    def has_listener?(protocol:, port:, instance_protocol:, instance_port:)
      @resource[:listener_descriptions].find do |desc|
        listener = desc.listener
        listener.protocol == protocol && listener.load_balancer_port == port && \
          listener.instance_protocol == instance_protocol && listener.instance_port == instance_port
      end
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
awspec-0.25.3 lib/awspec/type/elb.rb
awspec-0.25.2 lib/awspec/type/elb.rb
awspec-0.25.1 lib/awspec/type/elb.rb
awspec-0.25.0 lib/awspec/type/elb.rb
awspec-0.24.2 lib/awspec/type/elb.rb
awspec-0.24.1 lib/awspec/type/elb.rb
awspec-0.24.0 lib/awspec/type/elb.rb
awspec-0.23.0 lib/awspec/type/elb.rb
awspec-0.22.1 lib/awspec/type/elb.rb
awspec-0.22.0 lib/awspec/type/elb.rb
awspec-0.21.6 lib/awspec/type/elb.rb
awspec-0.21.5 lib/awspec/type/elb.rb
awspec-0.21.4 lib/awspec/type/elb.rb
awspec-0.21.3 lib/awspec/type/elb.rb
awspec-0.21.2 lib/awspec/type/elb.rb
awspec-0.21.1 lib/awspec/type/elb.rb
awspec-0.21.0 lib/awspec/type/elb.rb
awspec-0.20.2 lib/awspec/type/elb.rb
awspec-0.20.1 lib/awspec/type/elb.rb
awspec-0.20.0 lib/awspec/type/elb.rb