Class: OvirtSDK4::UsersService

Inherits:
Service
  • Object
show all
Defined in:
lib/ovirtsdk4/services.rb,
lib/ovirtsdk4/services.rb

Instance Method Summary collapse

Methods inherited from Service

#inspect, #to_s

Instance Method Details

#add(user, opts = {}) ⇒ User

Add user from a directory service.

For example, to add the myuser user from the myextension-authz authorization provider send a request like this:

POST /ovirt-engine/api/users

With a request body like this:

<user>
  <user_name>[email protected]</user_name>
  <domain>
    <name>myextension-authz</name>
  </domain>
</user>

In case you are working with Active Directory you have to pass user principal name (UPN) as username, followed by authorization provider name. Due to bug 1147900 you need to provide also principal parameter set to UPN of the user.

For example, to add the user with UPN [email protected] from the myextension-authz authorization provider send a request body like this:

<user>
  <principal>[email protected]</principal>
  <user_name>[email protected]@myextension-authz</user_name>
  <domain>
    <name>myextension-authz</name>
  </domain>
</user>

Parameters:

  • user (User)

    The user to add.

  • opts (Hash) (defaults to: {})

    Additional options.

Options Hash (opts):

  • :headers (Hash) — default: {}

    Additional HTTP headers.

  • :query (Hash) — default: {}

    Additional URL query parameters.

  • :timeout (Integer) — default: 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.

  • :wait (Boolean) — default: true

    If true wait for the response.

Returns:


29081
29082
29083
# File 'lib/ovirtsdk4/services.rb', line 29081

def add(user, opts = {})
  internal_add(user, User, ADD, opts)
end

#list(opts = {}) ⇒ Array<User>

List all the users in the system.

Usage:

GET /ovirt-engine/api/users

Will return the list of users:

<users>
  <user href="/ovirt-engine/api/users/1234" id="1234">
    <name>admin</name>
    <link href="/ovirt-engine/api/users/1234/sshpublickeys" rel="sshpublickeys"/>
    <link href="/ovirt-engine/api/users/1234/roles" rel="roles"/>
    <link href="/ovirt-engine/api/users/1234/permissions" rel="permissions"/>
    <link href="/ovirt-engine/api/users/1234/tags" rel="tags"/>
    <domain_entry_id>23456</domain_entry_id>
    <namespace>*</namespace>
    <principal>user1</principal>
    <user_name>[email protected]</user_name>
    <domain href="/ovirt-engine/api/domains/45678" id="45678">
      <name>domain-authz</name>
    </domain>
  </user>
</users>

The order of the returned list of users isn’t guaranteed.

Parameters:

  • opts (Hash) (defaults to: {})

    Additional options.

Options Hash (opts):

  • :case_sensitive (Boolean)

    Indicates if the search performed using the search parameter should be performed taking case into account. The default value is true, which means that case is taken into account. If you want to search ignoring case set it to false.

  • :follow (String)

    Indicates which inner links should be followed. The objects referenced by these links will be fetched as part of the current request. See here for details.

  • :max (Integer)

    Sets the maximum number of users to return. If not specified all the users are returned.

  • :search (String)

    A query string used to restrict the returned users.

  • :headers (Hash) — default: {}

    Additional HTTP headers.

  • :query (Hash) — default: {}

    Additional URL query parameters.

  • :timeout (Integer) — default: 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.

  • :wait (Boolean) — default: true

    If true wait for the response.

Returns:


29151
29152
29153
# File 'lib/ovirtsdk4/services.rb', line 29151

def list(opts = {})
  internal_get(LIST, opts)
end

#service(path) ⇒ Service

Locates the service corresponding to the given path.

Parameters:

  • path (String)

    The path of the service.

Returns:

  • (Service)

    A reference to the service.


29173
29174
29175
29176
29177
29178
29179
29180
29181
29182
# File 'lib/ovirtsdk4/services.rb', line 29173

def service(path)
  if path.nil? || path == ''
    return self
  end
  index = path.index('/')
  if index.nil?
    return user_service(path)
  end
  return user_service(path[0..(index - 1)]).service(path[(index + 1)..-1])
end

#user_service(id) ⇒ UserService

Locates the user service.

Parameters:

  • id (String)

    The identifier of the user.

Returns:


29162
29163
29164
# File 'lib/ovirtsdk4/services.rb', line 29162

def user_service(id)
  UserService.new(self, id)
end