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>
19018 19019 19020 |
# File 'lib/ovirtsdk4/services.rb', line 19018 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.
19073 19074 19075 |
# File 'lib/ovirtsdk4/services.rb', line 19073 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.
19084 19085 19086 |
# File 'lib/ovirtsdk4/services.rb', line 19084 def role_service(id) RoleService.new(self, id) end |
#service(path) ⇒ Service
Locates the service corresponding to the given path.
19095 19096 19097 19098 19099 19100 19101 19102 19103 19104 |
# File 'lib/ovirtsdk4/services.rb', line 19095 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 |