class DatadogBackup::Monitors

Public Class Methods

new(options) click to toggle source
Calls superclass method DatadogBackup::Core::new
# File lib/datadog_backup/monitors.rb, line 34
def initialize(options)
  super(options)
  @banlist = %w[overall_state overall_state_modified matching_downtimes modified].freeze
end

Public Instance Methods

all_monitors() click to toggle source
# File lib/datadog_backup/monitors.rb, line 5
def all_monitors
  @all_monitors ||= get_all
end
api_resource_name() click to toggle source
# File lib/datadog_backup/monitors.rb, line 18
def api_resource_name
  'monitor'
end
api_service() click to toggle source
# File lib/datadog_backup/monitors.rb, line 9
def api_service
  # The underlying class from Dogapi that talks to datadog
  client.instance_variable_get(:@monitor_svc)
end
api_version() click to toggle source
# File lib/datadog_backup/monitors.rb, line 14
def api_version
  'v1'
end
backup() click to toggle source
# File lib/datadog_backup/monitors.rb, line 22
def backup
  all_monitors.map do |monitor|
    id = monitor['id']
    write_file(dump(get_by_id(id)), filename(id))
  end
end
get_by_id(id) click to toggle source
# File lib/datadog_backup/monitors.rb, line 29
def get_by_id(id)
  monitor = all_monitors.select { |monitor| monitor['id'].to_s == id.to_s }.first
  monitor.nil? ? {} : except(monitor)
end