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>myuser@myextension-authz</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:



29879
29880
29881
# File 'lib/ovirtsdk4/services.rb', line 29879

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>user1@domain-authz</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:



29949
29950
29951
# File 'lib/ovirtsdk4/services.rb', line 29949

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.



29971
29972
29973
29974
29975
29976
29977
29978
29979
29980
# File 'lib/ovirtsdk4/services.rb', line 29971

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:



29960
29961
29962
# File 'lib/ovirtsdk4/services.rb', line 29960

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