Class: Hawkular::Alerts::Trigger

Inherits:
Object
  • Object
show all
Defined in:
lib/hawkular/alerts/alerts_api.rb

Overview

Representation of one Trigger (22 known properties: “enabled”, “autoResolveMatch”, “name”, “memberOf”, “autoEnable”, “firingMatch”, “tags”, “id”, “source”, “tenantId”, “eventText”, “context”, “eventType”, “autoResolveAlerts”, “dataIdMap”, “eventCategory”, “autoDisable”, “type”, “description”, “severity”, “autoResolve”, “actions”])

Defined Under Namespace

Classes: Action, Condition, Dampening, GroupConditionsInfo, GroupMemberInfo

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(trigger_hash) ⇒ Trigger

Returns a new instance of Trigger



394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
# File 'lib/hawkular/alerts/alerts_api.rb', line 394

def initialize(trigger_hash)
  return if trigger_hash.nil?

  @_hash = trigger_hash
  @conditions = []
  @dampenings = []
  @actions = []
  @id = trigger_hash['id']
  @name = trigger_hash['name']
  @enabled = trigger_hash['enabled']
  @severity = trigger_hash['severity']
  @auto_resolve = trigger_hash['autoResolve']
  @auto_resolve_alerts = trigger_hash['autoResolveAlerts']
  @event_type = trigger_hash['eventType']
  @event_category = trigger_hash['eventCategory']
  @member_of = trigger_hash['memberOf']
  @data_id_map = trigger_hash['dataIdMap']
  @tenant = trigger_hash['tenantId']
  @description = trigger_hash['description']
  @auto_enable = trigger_hash['autoEnable']
  @auto_disable = trigger_hash['autoDisable']
  @context = trigger_hash['context']
  @type = trigger_hash['type']
  @tags = trigger_hash['tags']
  @firing_match = trigger_hash['firingMatch']
  @auto_resolve_match = trigger_hash['autoResolveMatch']
  # acts = trigger_hash['actions']
  # acts.each { |a| @actions.push(Action.new(a)) } unless acts.nil?
end

Instance Attribute Details

#actionsObject

Returns the value of attribute actions



388
389
390
# File 'lib/hawkular/alerts/alerts_api.rb', line 388

def actions
  @actions
end

#auto_disableObject

Returns the value of attribute auto_disable



388
389
390
# File 'lib/hawkular/alerts/alerts_api.rb', line 388

def auto_disable
  @auto_disable
end

#auto_enableObject

Returns the value of attribute auto_enable



388
389
390
# File 'lib/hawkular/alerts/alerts_api.rb', line 388

def auto_enable
  @auto_enable
end

#auto_resolveObject

Returns the value of attribute auto_resolve



389
390
391
# File 'lib/hawkular/alerts/alerts_api.rb', line 389

def auto_resolve
  @auto_resolve
end

#auto_resolve_alertsObject

Returns the value of attribute auto_resolve_alerts



389
390
391
# File 'lib/hawkular/alerts/alerts_api.rb', line 389

def auto_resolve_alerts
  @auto_resolve_alerts
end

#auto_resolve_matchObject

Returns the value of attribute auto_resolve_match



392
393
394
# File 'lib/hawkular/alerts/alerts_api.rb', line 392

def auto_resolve_match
  @auto_resolve_match
end

#conditionsObject (readonly)

Returns the value of attribute conditions



391
392
393
# File 'lib/hawkular/alerts/alerts_api.rb', line 391

def conditions
  @conditions
end

#contextObject

Returns the value of attribute context



388
389
390
# File 'lib/hawkular/alerts/alerts_api.rb', line 388

def context
  @context
end

#dampeningsObject (readonly)

Returns the value of attribute dampenings



391
392
393
# File 'lib/hawkular/alerts/alerts_api.rb', line 391

def dampenings
  @dampenings
end

#data_id_mapObject

Returns the value of attribute data_id_map



390
391
392
# File 'lib/hawkular/alerts/alerts_api.rb', line 390

def data_id_map
  @data_id_map
end

#descriptionObject

Returns the value of attribute description



390
391
392
# File 'lib/hawkular/alerts/alerts_api.rb', line 390

def description
  @description
end

#enabledObject

Returns the value of attribute enabled



392
393
394
# File 'lib/hawkular/alerts/alerts_api.rb', line 392

def enabled
  @enabled
end

#event_categoryObject

Returns the value of attribute event_category



390
391
392
# File 'lib/hawkular/alerts/alerts_api.rb', line 390

def event_category
  @event_category
end

#event_typeObject

Returns the value of attribute event_type



390
391
392
# File 'lib/hawkular/alerts/alerts_api.rb', line 390

def event_type
  @event_type
end

#firing_matchObject

Returns the value of attribute firing_match



392
393
394
# File 'lib/hawkular/alerts/alerts_api.rb', line 392

def firing_match
  @firing_match
end

#groupObject

Returns the value of attribute group



390
391
392
# File 'lib/hawkular/alerts/alerts_api.rb', line 390

def group
  @group
end

#idObject

Returns the value of attribute id



388
389
390
# File 'lib/hawkular/alerts/alerts_api.rb', line 388

def id
  @id
end

#member_ofObject

Returns the value of attribute member_of



390
391
392
# File 'lib/hawkular/alerts/alerts_api.rb', line 390

def member_of
  @member_of
end

#nameObject

Returns the value of attribute name



388
389
390
# File 'lib/hawkular/alerts/alerts_api.rb', line 388

def name
  @name
end

#severityObject

Returns the value of attribute severity



390
391
392
# File 'lib/hawkular/alerts/alerts_api.rb', line 390

def severity
  @severity
end

#tagsObject

Returns the value of attribute tags



389
390
391
# File 'lib/hawkular/alerts/alerts_api.rb', line 389

def tags
  @tags
end

#tenantObject

Returns the value of attribute tenant



390
391
392
# File 'lib/hawkular/alerts/alerts_api.rb', line 390

def tenant
  @tenant
end

#typeObject

Returns the value of attribute type



389
390
391
# File 'lib/hawkular/alerts/alerts_api.rb', line 389

def type
  @type
end

Instance Method Details

#to_hObject



424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
# File 'lib/hawkular/alerts/alerts_api.rb', line 424

def to_h
  trigger_hash = {}
  to_camel = lambda do |x|
    ret = x.to_s.split('_').collect(&:capitalize).join
    ret[0, 1].downcase + ret[1..-1]
  end
  fields = [:id, :name, :enabled, :severity, :auto_resolve, :auto_resolve_alerts, :event_type, :event_category,
            :description, :auto_enable, :auto_disable, :context, :type, :tags, :member_of, :data_id_map,
            :firing_match, :auto_resolve_match]

  fields.each do |field|
    camelized_field = to_camel.call(field)
    field_value = __send__ field
    trigger_hash[camelized_field] = field_value unless field_value.nil?
  end

  trigger_hash['tenantId'] = @tenant unless @tenant.nil?
  trigger_hash['actions'] = []
  @actions.each { |d| trigger_hash['actions'].push d.to_h }

  trigger_hash
end