class Snmp2mkr::ConfigTypes::MetricDiscoveryRule

Attributes

keys[R]
metrics[R]

Public Instance Methods

collect_children() click to toggle source
# File lib/snmp2mkr/config_types/metric_discovery_rule.rb, line 24
def collect_children
  [
    @metrics,
    *@keys.values,
  ]
end
setup(hash) click to toggle source
# File lib/snmp2mkr/config_types/metric_discovery_rule.rb, line 7
def setup(hash)
  metrics_hash = hash.fetch('metrics')
  if !metrics_hash.kind_of?(Hash) || metrics_hash.any? { |k,v| !k.kind_of?(String) }
    raise TypeError, "#{self.class} metrics must be a Hash<String, Object)>"
  end

  keys_hash = hash.fetch('keys')
  if !keys_hash.kind_of?(Hash) || keys_hash.any? { |k,v| !k.kind_of?(String) }
    raise TypeError, "#{self.class} keys must be a Hash<String, Object>"
  end

  @metrics = MetricDefinitionCollection.new(metrics_hash)
  @keys = keys_hash.map { |k, v| [k, Oid.new(v)] }.to_h
end