class Applb::DSL::EC2::LoadBalancer::Listeners::Listener::Rules::Rule

Public Class Methods

new(context, listener, &block) click to toggle source
# File lib/applb/dsl/rule.rb, line 108
def initialize(context, listener, &block)
  @context = context.dup
  @listener = listener

  @result = Result.new(context, listener)
  @result.actions = []
  @result.conditions =  []

  instance_eval(&block)
end

Public Instance Methods

result() click to toggle source
# File lib/applb/dsl/rule.rb, line 119
def result
  required(:conditions, @result.conditions)
  required(:priority, @result.priority)
  required(:actions, @result.actions)
  @result
end

Private Instance Methods

actions(target_group_name: nil, target_group_arn: nil, type:) click to toggle source
# File lib/applb/dsl/rule.rb, line 136
def actions(target_group_name: nil, target_group_arn: nil, type:)
  @result.actions << {
    target_group_arn: target_group_arn,
    target_group_name: target_group_name,
    type: type,
  }
end
conditions(field: , values:) click to toggle source
# File lib/applb/dsl/rule.rb, line 144
def conditions(field: , values:)
  @result.conditions << {
    field: field,
    values: values,
  }
end
priority(priority) click to toggle source
# File lib/applb/dsl/rule.rb, line 132
def priority(priority)
  @result.priority = priority
end
rule_arn(rule_arn) click to toggle source
# File lib/applb/dsl/rule.rb, line 128
def rule_arn(rule_arn)
  @result.rule_arn = rule_arn
end