class Splunk::Entity

Class representing individual entities in Splunk.

Entity objects represent individual items such as indexes, users, roles, etc. They are usually contained within Collection objects.

The basic, identifying information for an Entity (name, namespace, path of the collection containing entity, and the service it's on) is all accessible via getters (name, namespace, resource, service). All the fields containing the Entity's state, such as the capabilities of a role or whether an app should check for updates, are accessible with the [] operator (for instance, role["capabilities"] or app["check_for_updates"]).

Entity objects cache their state, so each lookup of a field does not make a roundtrip to the server. The state may be refreshed by calling the refresh method on the Entity.

Public Instance Methods

[]=(key, value) click to toggle source

Updates the attribute key with value.

As for update, value may be anything that may be coerced sensibly to a String.

Returns: the new value.

# File lib/splunk-sdk-ruby/entity.rb, line 233
def []=(key, value)
  update(key => value)
delete() click to toggle source

Deletes this entity from the server.

Returns: nil.

# File lib/splunk-sdk-ruby/entity.rb, line 193
def delete()
  @service.request({:method => :DELETE,
                    :namespace => @namespace,
                    :resource => @resource + [name]})
disable() click to toggle source

Disables this entity.

After a subsequent refresh, the “disabled” field will be set to “1”. Note that on some entities, such as indexes in Splunk 5.x, most other operations do not work until it is enabled again.

Returns: the Entity.

# File lib/splunk-sdk-ruby/entity.rb, line 247
def disable
  @service.request(:method => :POST,
                   :namespace => @namespace,
                   :resource => @resource + [name, "disable"])
enable() click to toggle source

Enables this entity.

After a subsequent refresh, the “disabled” field will be set to “0”.

Returns: the Entity.

# File lib/splunk-sdk-ruby/entity.rb, line 261
def enable
  @service.request(:method => :POST,
                   :namespace => @namespace,
                   :resource => @resource + [name, "enable"])
update(args) click to toggle source

Updates the values on the Entity specified in the arguments.

The arguments can be either a Hash or a sequence of key => value pairs. This method does not refresh the Entity, so if you want to see the new values, you must call refresh yourself.

Whatever values you pass will be coerced to Strings, so updating a numeric field with an Integer, for example, will work perfectly well.

Returns: the Entity.


service = Splunk::connect(:username => 'admin', :password => 'foo')
index =  service.indexes['main']
# You could use the string "61" as well here.
index.update('rotatePeriodInSecs' => 61)
# File lib/splunk-sdk-ruby/entity.rb, line 217
def update(args)
  @service.request({:method => :POST,
                    :namespace => @namespace,
                    :resource => @resource + [name],
                    :body => args})