Method: ElasticWhenever::Task::Rule.fetch

Defined in:
lib/elastic_whenever/task/rule.rb

.fetch(option, rules: [], next_token: nil) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/elastic_whenever/task/rule.rb', line 11

def self.fetch(option, rules: [], next_token: nil)
  client = option.cloudwatch_events_client
  prefix = option.identifier

  response = client.list_rules(name_prefix: prefix, next_token: next_token)
  response.rules.each do |rule|
    rules << self.new(
      option,
      name: rule.name,
      expression: rule.schedule_expression,
      description: rule.description,
      client: client
    )
  end
  if response.next_token.nil?
    rules
  else
    fetch(option, rules: rules, next_token: response.next_token)
  end
end