class Awsrm::Elb

Constants

FILTER_MAP

Public Class Methods

all(params) click to toggle source
# File lib/awsrm/resources/elb.rb, line 12
def all(params)
  elbs = elb_client.describe_load_balancers.map do |responce|
    responce.load_balancer_descriptions
  end.flatten
  elbs.map do |lb|
    ret = params.all? do |key, value|
      raise UndefinedFilterParamError, key unless self::FILTER_MAP.key?(key)
      next self::FILTER_MAP[key].call(lb, value) if self::FILTER_MAP[key].is_a?(Proc)
      lb[self::FILTER_MAP[key]] == value
    end
    ElbReader.new(lb) if ret
  end.compact
end
filters(_params) click to toggle source
# File lib/awsrm/resources/elb.rb, line 26
def filters(_params)
  raise NoMethodError
end
has_tags?(name, tag_hash) click to toggle source
# File lib/awsrm/resources/elb.rb, line 30
def has_tags?(name, tag_hash)
  tag_descriptions = elb_client.describe_tags(load_balancer_names: [name]).tag_descriptions.flatten
  ret = tag_descriptions.find do |desc|
    desc.load_balancer_name == name
  end
  return false if ret.nil?
  tag_hash.all? do |key, value|
    ret.tags.any? do |tag|
      tag.key == key.to_s && tag.value == value.to_s
    end
  end
end