class WavefrontCli::IngestionPolicy

CLI coverage for the ingestion policy part of the v2 'usage' API.

Public Instance Methods

do_add_user() click to toggle source
# File lib/wavefront-cli/ingestionpolicy.rb, line 17
def do_add_user
  account_hook.add_ingestion_policy(options[:'<id>'], options[:'<user>'])
end
do_create() click to toggle source
# File lib/wavefront-cli/ingestionpolicy.rb, line 13
def do_create
  wf.create(create_body)
end
do_for() click to toggle source
# File lib/wavefront-cli/ingestionpolicy.rb, line 33
def do_for
  resp = do_list
  parent_policies = parent_policies(options[:'<user>'][0],
                                    resp.response.items)
  resp.response = parent_policies.map { |p| p[:id] }
  resp
end
do_members() click to toggle source
# File lib/wavefront-cli/ingestionpolicy.rb, line 26
def do_members
  resp = do_describe
  resp.response = resp.response[:sampledUserAccounts] +
                  resp.response[:sampledServiceAccounts]
  resp
end
do_remove_user() click to toggle source
# File lib/wavefront-cli/ingestionpolicy.rb, line 21
def do_remove_user
  account_hook.remove_ingestion_policy(options[:'<id>'],
                                       options[:'<user>'])
end

Private Instance Methods

account_hook() click to toggle source
# File lib/wavefront-cli/ingestionpolicy.rb, line 54
def account_hook
  require 'wavefront-sdk/account'
  Wavefront::Account.new(mk_creds, mk_opts)
end
create_body() click to toggle source
# File lib/wavefront-cli/ingestionpolicy.rb, line 50
def create_body
  { name: options[:'<name>'], description: options[:desc] }.compact
end
descriptive_name() click to toggle source
# File lib/wavefront-cli/ingestionpolicy.rb, line 59
def descriptive_name
  'ingestion policy'
end
parent_policies(user, items) click to toggle source
# File lib/wavefront-cli/ingestionpolicy.rb, line 43
def parent_policies(user, items)
  items.select do |p|
    p[:sampledUserAccounts].include?(user) ||
      p[:sampledServiceAccounts].include?(user)
  end
end
validator_exception() click to toggle source
# File lib/wavefront-cli/ingestionpolicy.rb, line 63
def validator_exception
  Wavefront::Exception::InvalidIngestionPolicyId
end