class Insights::API::Common::RBAC::Roles
Attributes
roles[R]
Public Class Methods
assigned_role?(role_name)
click to toggle source
# File lib/insights/api/common/rbac/roles.rb, line 48 def self.assigned_role?(role_name) opts = { :name => role_name, :scope => 'principal' } Service.call(RBACApiClient::RoleApi) do |api_instance| Service.paginate(api_instance, :list_roles, opts).count.positive? end end
new(prefix = nil, scope = 'principal')
click to toggle source
# File lib/insights/api/common/rbac/roles.rb, line 8 def initialize(prefix = nil, scope = 'principal') @roles = {} load(prefix, scope) end
Public Instance Methods
add(name, acls)
click to toggle source
# File lib/insights/api/common/rbac/roles.rb, line 24 def add(name, acls) Service.call(RBACApiClient::RoleApi) do |api_instance| role_in = RBACApiClient::RoleIn.new role_in.name = name role_in.access = acls api_instance.create_roles(role_in).tap do |role| @roles[name] = role.uuid end end end
delete(role)
click to toggle source
# File lib/insights/api/common/rbac/roles.rb, line 41 def delete(role) @roles.delete(role.name) Service.call(RBACApiClient::RoleApi) do |api_instance| api_instance.delete_role(role.uuid) end end
find(name)
click to toggle source
# File lib/insights/api/common/rbac/roles.rb, line 13 def find(name) uuid = @roles[name] get(uuid) if uuid end
update(role)
click to toggle source
# File lib/insights/api/common/rbac/roles.rb, line 35 def update(role) Service.call(RBACApiClient::RoleApi) do |api_instance| api_instance.update_role(role.uuid, role) end end
with_each_role() { |get(uuid)| ... }
click to toggle source
# File lib/insights/api/common/rbac/roles.rb, line 18 def with_each_role @roles.each_value do |uuid| yield get(uuid) end end
Private Instance Methods
get(uuid)
click to toggle source
# File lib/insights/api/common/rbac/roles.rb, line 68 def get(uuid) Service.call(RBACApiClient::RoleApi) do |api_instance| api_instance.get_role(uuid) end end
load(prefix, scope)
click to toggle source
# File lib/insights/api/common/rbac/roles.rb, line 59 def load(prefix, scope) opts = { :scope => scope, :name => prefix, :limit => 500 } Service.call(RBACApiClient::RoleApi) do |api_instance| Service.paginate(api_instance, :list_roles, opts).each do |role| @roles[role.name] = role.uuid end end end