class Buyerquest::Opsgenie::Heartbeat
Attributes
name[R]
Public Class Methods
new(opts={})
click to toggle source
# File lib/buyerquest/opsgenie/heartbeat.rb, line 6 def initialize(opts={}) @name = opts[:name] @opts = opts raise "[OpsGenie Error] No name provided" if @name.nil? end
Public Instance Methods
add()
click to toggle source
# File lib/buyerquest/opsgenie/heartbeat.rb, line 53 def add return false if exist? default_opts = get_default_heartbeat_opts payload = default_opts payload = payload.merge @opts payload[:name] = @name opsg_request = { :method => 'POST', :uri => '/heartbeats', :payload => payload } @exist_status = Buyerquest::Opsgenie::Client.execute opsg_request true end
delete()
click to toggle source
# File lib/buyerquest/opsgenie/heartbeat.rb, line 94 def delete return false unless exist? opsg_request ={ :method => 'DELETE', :uri => "/heartbeats/#{@name}", } Buyerquest::Opsgenie::Client.execute opsg_request @exist_status = nil true end
disable()
click to toggle source
# File lib/buyerquest/opsgenie/heartbeat.rb, line 43 def disable raise "[OpsGenie Error] Can't enable non-existent heartbeat" unless exist? opsg_request ={ :method => 'POST', :uri => "/heartbeats/#{@name}/disable", } Buyerquest::Opsgenie::Client.execute opsg_request end
enable()
click to toggle source
# File lib/buyerquest/opsgenie/heartbeat.rb, line 34 def enable raise "[OpsGenie Error] Can't enable non-existent heartbeat" unless exist? opsg_request ={ :method => 'POST', :uri => "/heartbeats/#{@name}/enable", } Buyerquest::Opsgenie::Client.execute opsg_request end
exist?()
click to toggle source
# File lib/buyerquest/opsgenie/heartbeat.rb, line 113 def exist? if @exist_status.nil? @exist_status = get end if @exist_status.nil? false else true end end
get()
click to toggle source
# File lib/buyerquest/opsgenie/heartbeat.rb, line 105 def get opsg_request ={ :method => 'GET', :uri => "/heartbeats/#{@name}", } Buyerquest::Opsgenie::Client.execute opsg_request end
get_default_heartbeat_opts()
click to toggle source
# File lib/buyerquest/opsgenie/heartbeat.rb, line 24 def get_default_heartbeat_opts { :intervalUnit => "minutes", :interval => 10, :enabled => true, :alertMessage => "Heartbeat [#{@name}] expired", :alertPriority=> "P3" } end
ping()
click to toggle source
# File lib/buyerquest/opsgenie/heartbeat.rb, line 68 def ping raise "[OpsGenie Error] Can't ping non-existent heartbeat" unless exist? opsg_request ={ :method => 'GET', :uri => "/heartbeats/#{@name}/ping", } Buyerquest::Opsgenie::Client.execute opsg_request end
start()
click to toggle source
# File lib/buyerquest/opsgenie/heartbeat.rb, line 12 def start self.update({}) unless self.add self.enable # Initial ping request self.ping end
stop()
click to toggle source
# File lib/buyerquest/opsgenie/heartbeat.rb, line 19 def stop self.disable self.delete end
update(opts)
click to toggle source
# File lib/buyerquest/opsgenie/heartbeat.rb, line 77 def update (opts) raise "[OpsGenie Error] Can't update non-existent heartbeat" unless exist? @opts = @opts.merge opts default_opts = get_default_heartbeat_opts payload = default_opts payload = payload.merge @opts payload[:name] = @name opsg_request = { :method => 'PATCH', :uri => "/heartbeats/#{@name}", :payload => payload } @exist_status = Buyerquest::Opsgenie::Client.execute opsg_request true end