class OvirtSDK4::RolesService

Constants

ADD
LIST

Public Instance Methods

add(role, opts = {}) click to toggle source

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):

source

POST /ovirt-engine/api/roles


With a request body like this:

source,xml

<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>


@param role [Role] Role that will be added.

@param opts [Hash] Additional options.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

@return [Role]

# File lib/ovirtsdk4/services.rb, line 20323
def add(role, opts = {})
  internal_add(role, Role, ADD, opts)
end
list(opts = {}) click to toggle source

List roles.

source

GET /ovirt-engine/api/roles


You will receive response in XML like this one:

source,xml

<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.

@param opts [Hash] Additional options.

@option opts [String] :follow Indicates which inner links should be followed. The objects referenced by these links will be fetched as part

of the current request. See <<documents/003_common_concepts/follow, here>> for details.

@option opts [Integer] :max Sets the maximum number of roles to return. If not specified all the roles are returned.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

@return [Array<Role>]

# File lib/ovirtsdk4/services.rb, line 20378
def list(opts = {})
  internal_get(LIST, opts)
end
role_service(id) click to toggle source

Sub-resource locator method, returns individual role resource on which the remainder of the URI is dispatched.

@param id [String] The identifier of the `role`.

@return [RoleService] A reference to the `role` service.

# File lib/ovirtsdk4/services.rb, line 20389
def role_service(id)
  RoleService.new(self, id)
end
service(path) click to toggle source

Locates the service corresponding to the given path.

@param path [String] The path of the service.

@return [Service] A reference to the service.

# 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