Class: ManageIQ::API::Common::RBAC::Roles
- Inherits:
-
Object
- Object
- ManageIQ::API::Common::RBAC::Roles
- Defined in:
- lib/manageiq/api/common/rbac/roles.rb
Instance Attribute Summary collapse
-
#roles ⇒ Object
readonly
Returns the value of attribute roles.
Class Method Summary collapse
Instance Method Summary collapse
- #add(name, acls) ⇒ Object
- #delete(role) ⇒ Object
- #find(name) ⇒ Object
-
#initialize(prefix = nil, scope = 'principal') ⇒ Roles
constructor
A new instance of Roles.
- #update(role) ⇒ Object
- #with_each_role ⇒ Object
Constructor Details
#initialize(prefix = nil, scope = 'principal') ⇒ Roles
Returns a new instance of Roles.
8 9 10 11 |
# File 'lib/manageiq/api/common/rbac/roles.rb', line 8 def initialize(prefix = nil, scope = 'principal') @roles = {} load(prefix, scope) end |
Instance Attribute Details
#roles ⇒ Object (readonly)
Returns the value of attribute roles.
6 7 8 |
# File 'lib/manageiq/api/common/rbac/roles.rb', line 6 def roles @roles end |
Class Method Details
.assigned_role?(role_name) ⇒ Boolean
48 49 50 51 52 53 54 55 |
# File 'lib/manageiq/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 |
Instance Method Details
#add(name, acls) ⇒ Object
24 25 26 27 28 29 30 31 32 33 |
# File 'lib/manageiq/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) ⇒ Object
41 42 43 44 45 46 |
# File 'lib/manageiq/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) ⇒ Object
13 14 15 16 |
# File 'lib/manageiq/api/common/rbac/roles.rb', line 13 def find(name) uuid = @roles[name] get(uuid) if uuid end |
#update(role) ⇒ Object
35 36 37 38 39 |
# File 'lib/manageiq/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 ⇒ Object
18 19 20 21 22 |
# File 'lib/manageiq/api/common/rbac/roles.rb', line 18 def with_each_role @roles.each_value do |uuid| yield get(uuid) end end |