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:


29052
29053
29054
# File 'lib/ovirtsdk4/services.rb', line 29052

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

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>[email protected]</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:


28963
28964
28965
# File 'lib/ovirtsdk4/services.rb', line 28963

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

#groups_serviceDomainUserGroupsService

Locates the groups service.

Returns:


29061
29062
29063
# File 'lib/ovirtsdk4/services.rb', line 29061

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

#options_serviceUserOptionsService

Locates the options service.

Returns:


29070
29071
29072
# File 'lib/ovirtsdk4/services.rb', line 29070

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

#permissions_serviceAssignedPermissionsService

Locates the permissions service.

Returns:


29079
29080
29081
# File 'lib/ovirtsdk4/services.rb', line 29079

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.


28994
28995
28996
# File 'lib/ovirtsdk4/services.rb', line 28994

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

#roles_serviceAssignedRolesService

Locates the roles service.

Returns:


29088
29089
29090
# File 'lib/ovirtsdk4/services.rb', line 29088

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:


29117
29118
29119
29120
29121
29122
29123
29124
29125
29126
29127
29128
29129
29130
29131
29132
29133
29134
29135
29136
29137
29138
29139
29140
29141
29142
29143
29144
29145
29146
29147
29148
29149
29150
29151
29152
29153
29154
29155
29156
29157
29158
29159
29160
29161
29162
29163
29164
# File 'lib/ovirtsdk4/services.rb', line 29117

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:


29097
29098
29099
# File 'lib/ovirtsdk4/services.rb', line 29097

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

#tags_serviceAssignedTagsService

Locates the tags service.

Returns:


29106
29107
29108
# File 'lib/ovirtsdk4/services.rb', line 29106

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

With a request body like this:

<user>
   <user_options>
      <property>
         <name>test</name>
         <value>["any","JSON"]</value>
      </property>
   </user_options>
</user>

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:


29043
29044
29045
# File 'lib/ovirtsdk4/services.rb', line 29043

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