Class: ManageIQ::API::Common::RBAC::Policies

Inherits:
Object
  • Object
show all
Defined in:
lib/manageiq/api/common/rbac/policies.rb

Instance Method Summary collapse

Constructor Details

#initialize(prefix) ⇒ Policies

Returns a new instance of Policies.



6
7
8
# File 'lib/manageiq/api/common/rbac/policies.rb', line 6

def initialize(prefix)
  @prefix = prefix
end

Instance Method Details

#add_policy(policy_name, description, group_name, role_uuid) ⇒ Object



10
11
12
13
14
15
16
17
18
19
# File 'lib/manageiq/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) ⇒ Object

delete all policies that contains the role.



22
23
24
25
26
27
28
# File 'lib/manageiq/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