Class: OvirtSDK4::RoleService
- Defined in:
- lib/ovirtsdk4/services.rb,
lib/ovirtsdk4/services.rb
Instance Method Summary collapse
-
#get(opts = {}) ⇒ Role
Get the role.
-
#permits_service ⇒ PermitsService
Sub-resource locator method, returns permits service.
-
#remove(opts = {}) ⇒ Object
Removes the role.
-
#service(path) ⇒ Service
Locates the service corresponding to the given path.
-
#update(role, opts = {}) ⇒ Role
Updates a role.
Methods inherited from Service
Instance Method Details
#get(opts = {}) ⇒ Role
Get the role.
GET /ovirt-engine/api/roles/123
You will receive XML response like this one:
<role id="123">
<name>MyRole</name>
<description>MyRole description</description>
<link href="/ovirt-engine/api/roles/123/permits" rel="permits"/>
<administrative>true</administrative>
<mutable>false</mutable>
</role>
20159 20160 20161 |
# File 'lib/ovirtsdk4/services.rb', line 20159 def get(opts = {}) internal_get(GET, opts) end |
#permits_service ⇒ PermitsService
Sub-resource locator method, returns permits service.
20249 20250 20251 |
# File 'lib/ovirtsdk4/services.rb', line 20249 def permits_service @permits_service ||= PermitsService.new(self, 'permits') end |
#remove(opts = {}) ⇒ Object
Removes the role.
To remove the role you need to know its id, then send request like this:
DELETE /ovirt-engine/api/roles/{role_id}
20191 20192 20193 |
# File 'lib/ovirtsdk4/services.rb', line 20191 def remove(opts = {}) internal_remove(REMOVE, opts) end |
#service(path) ⇒ Service
Locates the service corresponding to the given path.
20260 20261 20262 20263 20264 20265 20266 20267 20268 20269 20270 20271 |
# File 'lib/ovirtsdk4/services.rb', line 20260 def service(path) if path.nil? || path == '' return self end if path == 'permits' return permits_service end if path.start_with?('permits/') return permits_service.service(path[8..-1]) end raise Error.new("The path \"#{path}\" doesn't correspond to any service") end |
#update(role, opts = {}) ⇒ Role
Updates a role. You are allowed to update name
, description
and administrative
attributes after role is
created. Within this endpoint you can’t add or remove roles permits you need to use
service that manages permits of role.
For example to update role’s name
, description
and administrative
attributes send a request like this:
PUT /ovirt-engine/api/roles/123
With a request body like this:
<role>
<name>MyNewRoleName</name>
<description>My new description of the role</description>
<administrative>true</administrative>
</group>
20240 20241 20242 |
# File 'lib/ovirtsdk4/services.rb', line 20240 def update(role, opts = {}) internal_update(role, Role, UPDATE, opts) end |