Class: Awsrm::AlbTargetGroup

Inherits:
Resource show all
Defined in:
lib/awsrm/resources/alb_target_group.rb

Constant Summary collapse

FILTER_MAP =
{
  id: 'target_group_name',
  arn: 'target_group_arn',
  name: 'target_group_name',
  alb: ->(target, value) { target.load_balancer_arns.include?(Awsrm::Alb.one(name: value).load_balancer_arn) },
  vpc: ->(target, value) { target.vpc_id == Awsrm::Vpc.one(name: value).id }
}.freeze

Constants inherited from Resource

Resource::CLIENTS, Resource::CLIENT_OPTIONS

Class Method Summary collapse

Methods inherited from Resource

check_one, one

Class Method Details

.all(params) ⇒ Object



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

def all(params)
  target_groups = elbv2_client.describe_target_groups.map do |responce|
    responce.target_groups
  end.flatten
  target_groups.map do |target|
    ret = params.all? do |key, value|
      raise UndefinedFilterParamError, key unless self::FILTER_MAP.key?(key)
      next self::FILTER_MAP[key].call(target, value) if self::FILTER_MAP[key].is_a?(Proc)
      target[self::FILTER_MAP[key]] == value
    end
    AlbTargetGroupReader.new(target) if ret
  end.compact
end

.filters(_params) ⇒ Object

Raises:

  • (NoMethodError)


26
27
28
# File 'lib/awsrm/resources/alb_target_group.rb', line 26

def filters(_params)
  raise NoMethodError
end