class WavefrontCli::Role

CLI coverage for the v2 'role' API.

Public Instance Methods

do_accounts() click to toggle source
# File lib/wavefront-cli/role.rb, line 18
def do_accounts
  things_with_role(:account, options[:'<id>'])
end
do_create() click to toggle source
# File lib/wavefront-cli/role.rb, line 12
def do_create
  wf.create({ name: options[:'<name>'],
              description: options[:description],
              permissions: options[:permission] }.compact)
end
do_give_to() click to toggle source
# File lib/wavefront-cli/role.rb, line 26
def do_give_to
  wf.add_assignees(options[:'<id>'], options[:'<member>'])
end
do_grant() click to toggle source
# File lib/wavefront-cli/role.rb, line 34
def do_grant
  wf.grant(options[:'<permission>'], Array(options[:'<id>']))
end
do_groups() click to toggle source
# File lib/wavefront-cli/role.rb, line 22
def do_groups
  things_with_role(:usergroup, options[:'<id>'])
end
do_revoke() click to toggle source
# File lib/wavefront-cli/role.rb, line 38
def do_revoke
  wf.revoke(options[:'<permission>'], Array(options[:'<id>']))
end
do_take_from() click to toggle source
# File lib/wavefront-cli/role.rb, line 30
def do_take_from
  wf.remove_assignees(options[:'<id>'], options[:'<member>'])
end

Private Instance Methods

things_with_role(thing, role) click to toggle source

Search for objects of the given type with the given role

# File lib/wavefront-cli/role.rb, line 46
def things_with_role(thing, role)
  require 'wavefront-sdk/search'
  wfs = Wavefront::Search.new(mk_creds, mk_opts)
  wfs.search(thing,
             conds_to_query(["roles~#{role}"]),
             limit: :all, sort_field: :id)
end