Method: Awspec::Helper::Finder::WafRegional#find_wafregional_rule

Defined in:
lib/awspec/helper/finder/wafregional.rb

#find_wafregional_rule(id) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/awspec/helper/finder/wafregional.rb', line 23

def find_wafregional_rule(id)
  finded = nil
  next_marker = nil

  loop do
    res = wafregional_client.list_rules(next_marker: next_marker, limit: 1)
    finded = res.rules.find do |rule|
      rule.rule_id == id || rule.name == id
    end
    (finded.nil? && next_marker = res.next_marker) || break
  end

  return nil unless finded

  wafregional_client.get_rule(rule_id: finded.rule_id).rule
end