class Insights::API::Common::RBAC::Policies

Public Class Methods

new(prefix) click to toggle source
# File lib/insights/api/common/rbac/policies.rb, line 6
def initialize(prefix)
  @prefix = prefix
end

Public Instance Methods

add_policy(policy_name, description, group_name, role_uuid) click to toggle source
# File lib/insights/api/common/rbac/policies.rb, line 10
def add_policy(policy_name, description, group_name, role_uuid)
  Service.call(RBACApiClient::PolicyApi) do |api_instance|
    policy_in = RBACApiClient::PolicyIn.new
    policy_in.name = policy_name
    policy_in.description = description
    policy_in.group = group_name
    policy_in.roles = [role_uuid]
    api_instance.create_policies(policy_in)
  end
end
delete_policy(role) click to toggle source

delete all policies that contains the role.

# File lib/insights/api/common/rbac/policies.rb, line 22
def delete_policy(role)
  Service.call(RBACApiClient::PolicyApi) do |api_instance|
    Service.paginate(api_instance, :list_policies, :name => @prefix).each do |policy|
      api_instance.delete_policy(policy.uuid) if policy.roles.map(&:uuid).include?(role.uuid)
    end
  end
end