Class: OvirtSDK4::UserService

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

#event_subscriptions_serviceEventSubscriptionsService

List of event-subscriptions for this user.

Returns:



29109
29110
29111
# File 'lib/ovirtsdk4/services.rb', line 29109

def event_subscriptions_service
  @event_subscriptions_service ||= EventSubscriptionsService.new(self, 'eventsubscriptions')
end

#get(opts = {}) ⇒ User

Gets the system user information.

Usage:

GET /ovirt-engine/api/users/1234 HTTP/1.1

Will return the user information:

<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"/>
  <department></department>
  <domain_entry_id>23456</domain_entry_id>
  <email>[email protected]</email>
  <last_name>Lastname</last_name>
  <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>

Parameters:

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

    Additional options.

Options Hash (opts):

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

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



29018
29019
29020
# File 'lib/ovirtsdk4/services.rb', line 29018

def get(opts = {})
  internal_get(GET, opts)
end

#groups_serviceDomainUserGroupsService

Locates the groups service.

Returns:



29118
29119
29120
# File 'lib/ovirtsdk4/services.rb', line 29118

def groups_service
  @groups_service ||= DomainUserGroupsService.new(self, 'groups')
end

#options_serviceUserOptionsService

Locates the options service.

Returns:



29127
29128
29129
# File 'lib/ovirtsdk4/services.rb', line 29127

def options_service
  @options_service ||= UserOptionsService.new(self, 'options')
end

#permissions_serviceAssignedPermissionsService

Locates the permissions service.

Returns:



29136
29137
29138
# File 'lib/ovirtsdk4/services.rb', line 29136

def permissions_service
  @permissions_service ||= AssignedPermissionsService.new(self, 'permissions')
end

#remove(opts = {}) ⇒ Object

Removes the system user.

Usage:

DELETE /ovirt-engine/api/users/1234

Parameters:

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

    Additional options.

Options Hash (opts):

  • :async (Boolean)

    Indicates if the remove should be performed asynchronously.

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



29049
29050
29051
# File 'lib/ovirtsdk4/services.rb', line 29049

def remove(opts = {})
  internal_remove(REMOVE, opts)
end

#roles_serviceAssignedRolesService

Locates the roles service.

Returns:



29145
29146
29147
# File 'lib/ovirtsdk4/services.rb', line 29145

def roles_service
  @roles_service ||= AssignedRolesService.new(self, 'roles')
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.

Raises:



29174
29175
29176
29177
29178
29179
29180
29181
29182
29183
29184
29185
29186
29187
29188
29189
29190
29191
29192
29193
29194
29195
29196
29197
29198
29199
29200
29201
29202
29203
29204
29205
29206
29207
29208
29209
29210
29211
29212
29213
29214
29215
29216
29217
29218
29219
29220
29221
# File 'lib/ovirtsdk4/services.rb', line 29174

def service(path)
  if path.nil? || path == ''
    return self
  end
  if path == 'eventsubscriptions'
    return event_subscriptions_service
  end
  if path.start_with?('eventsubscriptions/')
    return event_subscriptions_service.service(path[19..-1])
  end
  if path == 'groups'
    return groups_service
  end
  if path.start_with?('groups/')
    return groups_service.service(path[7..-1])
  end
  if path == 'options'
    return options_service
  end
  if path.start_with?('options/')
    return options_service.service(path[8..-1])
  end
  if path == 'permissions'
    return permissions_service
  end
  if path.start_with?('permissions/')
    return permissions_service.service(path[12..-1])
  end
  if path == 'roles'
    return roles_service
  end
  if path.start_with?('roles/')
    return roles_service.service(path[6..-1])
  end
  if path == 'sshpublickeys'
    return ssh_public_keys_service
  end
  if path.start_with?('sshpublickeys/')
    return ssh_public_keys_service.service(path[14..-1])
  end
  if path == 'tags'
    return tags_service
  end
  if path.start_with?('tags/')
    return tags_service.service(path[5..-1])
  end
  raise Error.new("The path \"#{path}\" doesn't correspond to any service")
end

#ssh_public_keys_serviceSshPublicKeysService

Locates the ssh_public_keys service.

Returns:



29154
29155
29156
# File 'lib/ovirtsdk4/services.rb', line 29154

def ssh_public_keys_service
  @ssh_public_keys_service ||= SshPublicKeysService.new(self, 'sshpublickeys')
end

#tags_serviceAssignedTagsService

Locates the tags service.

Returns:



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

def tags_service
  @tags_service ||= AssignedTagsService.new(self, 'tags')
end

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

Updates information about the user.

Only the user_options field can be updated.

For example, to update user options:

PUT /ovirt-engine/api/users/123 HTTP/1.1

With a request body like this:

<user>
   <user_options>
      <property>
         <name>test</name>
         <value>["any","JSON"]</value>
      </property>
   </user_options>
</user>
Important
Since version 4.4.5 of the engine this operation is deprecated, and preserved only for backwards compatibility. It will be removed in the future. Please use the options endpoint instead.

Parameters:

  • user (User)

    The user to update.

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



29100
29101
29102
# File 'lib/ovirtsdk4/services.rb', line 29100

def update(user, opts = {})
  internal_update(user, User, UPDATE, opts)
end