Class: OvirtSDK4::RolesService
- Defined in:
- lib/ovirtsdk4/services.rb,
lib/ovirtsdk4/services.rb
Instance Method Summary collapse
-
#add(role, opts = {}) ⇒ Role
Create a new role.
-
#list(opts = {}) ⇒ Array<Role>
List roles.
-
#role_service(id) ⇒ RoleService
Sub-resource locator method, returns individual role resource on which the remainder of the URI is dispatched.
-
#service(path) ⇒ Service
Locates the service corresponding to the given path.
Methods inherited from Service
Instance Method Details
#add(role, opts = {}) ⇒ Role
Create a new role. The role can be administrative or non-administrative and can have different permits.
For example, to add the MyRole
non-administrative role with permits to login and create virtual machines
send a request like this (note that you have to pass permit id):
POST /ovirt-engine/api/roles
With a request body like this:
<role>
<name>MyRole</name>
<description>My custom role to create virtual machines</description>
<administrative>false</administrative>
<permits>
<permit id="1"/>
<permit id="1300"/>
</permits>
</group>
20323 20324 20325 |
# File 'lib/ovirtsdk4/services.rb', line 20323 def add(role, opts = {}) internal_add(role, Role, ADD, opts) end |
#list(opts = {}) ⇒ Array<Role>
List roles.
GET /ovirt-engine/api/roles
You will receive response in XML like this one:
<roles>
<role id="123">
<name>SuperUser</name>
<description>Roles management administrator</description>
<link href="/ovirt-engine/api/roles/123/permits" rel="permits"/>
<administrative>true</administrative>
<mutable>false</mutable>
</role>
...
</roles>
The order of the returned list of roles isn’t guaranteed.
20378 20379 20380 |
# File 'lib/ovirtsdk4/services.rb', line 20378 def list(opts = {}) internal_get(LIST, opts) end |
#role_service(id) ⇒ RoleService
Sub-resource locator method, returns individual role resource on which the remainder of the URI is dispatched.
20389 20390 20391 |
# File 'lib/ovirtsdk4/services.rb', line 20389 def role_service(id) RoleService.new(self, id) end |
#service(path) ⇒ Service
Locates the service corresponding to the given path.
20400 20401 20402 20403 20404 20405 20406 20407 20408 20409 |
# File 'lib/ovirtsdk4/services.rb', line 20400 def service(path) if path.nil? || path == '' return self end index = path.index('/') if index.nil? return role_service(path) end return role_service(path[0..(index - 1)]).service(path[(index + 1)..-1]) end |