class WavefrontCli::ExternalLink

CLI coverage for the v2 'externallink' API.

Public Instance Methods

descriptive_name() click to toggle source
# File lib/wavefront-cli/externallink.rb, line 18
def descriptive_name
  'external link'
end
do_create() click to toggle source
# File lib/wavefront-cli/externallink.rb, line 22
def do_create
  body = { name: options[:'<name>'],
           template: options[:'<template>'],
           description: options[:'<description>'],
           metricFilterRegex: options[:metricregex],
           sourceFilterRegex: options[:sourceregex],
           pointFilterRegex: point_filter_regexes }

  wf.create(body.select { |_k, v| v })
end
search_key() click to toggle source
# File lib/wavefront-cli/externallink.rb, line 33
def search_key
  :extlink
end
validator_exception() click to toggle source
# File lib/wavefront-cli/externallink.rb, line 14
def validator_exception
  Wavefront::Exception::InvalidExternalLinkId
end
validator_method() click to toggle source
# File lib/wavefront-cli/externallink.rb, line 10
def validator_method
  :wf_link_id?
end

Private Instance Methods

point_filter_regexes() click to toggle source
# File lib/wavefront-cli/externallink.rb, line 39
def point_filter_regexes
  ret = options[:pointregex].each_with_object({}) do |r, a|
    k, v = r.split('=', 2)
    a[k.to_sym] = v
  rescue StandardError
    puts "cannot parse point regex '#{r}'. Skipping."
  end

  ret.empty? ? nil : ret
end