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 HTTP/1.1

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>

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.



29491
29492
29493
# File 'lib/ovirtsdk4/services.rb', line 29491

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 HTTP/1.1

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.

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.



29560
29561
29562
# File 'lib/ovirtsdk4/services.rb', line 29560

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

#service(path) ⇒ Service

Locates the service corresponding to the given path.



29582
29583
29584
29585
29586
29587
29588
29589
29590
29591
# File 'lib/ovirtsdk4/services.rb', line 29582

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.



29571
29572
29573
# File 'lib/ovirtsdk4/services.rb', line 29571

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