com.splunk
Class Service

java.lang.Object
  extended by com.splunk.HttpService
      extended by com.splunk.Service

public class Service
extends HttpService

The Service class represents a Splunk service instance at a given address (host:port), accessed using the http or https protocol scheme.

A Service instance also captures an optional namespace context consisting of an optional owner name (or "-" wildcard) and optional app name (or "-" wildcard).

To access Service members, the Service instance must be authenticated by presenting credentials using the login method, or by constructing the Service instance using the connect method, which both creates and authenticates the instance.


Field Summary
protected  java.lang.String app
          The current app context.
static java.lang.String DEFAULT_HOST
          The default host name, which is used when a host name is not provided.
static int DEFAULT_PORT
          The default port number, which is used when a port number is not provided.
static java.lang.String DEFAULT_SCHEME
          The default scheme, which is used when a scheme is not provided.
protected  java.lang.String owner
          The current owner context.
protected  java.lang.String password
          The password, which is used to authenticate the Splunk instance.
protected  java.lang.String token
          The current session token.
protected  java.lang.String username
          The Splunk account username, which is used to authenticate the Splunk instance.
 
Fields inherited from class com.splunk.HttpService
host, port, scheme
 
Constructor Summary
Service(java.util.Map<java.lang.String,java.lang.Object> args)
          Creates a new Service instance using a map of arguments.
Service(ServiceArgs args)
          Creates a new Service instance using a collection of arguments.
Service(java.lang.String host)
          Creates a new Service instance using a host.
Service(java.lang.String host, int port)
          Creates a new Service instance using a host and port.
Service(java.lang.String host, int port, java.lang.String scheme)
          Creates a new Service instance using a host, port, and scheme for accessing the service (http or https).
 
Method Summary
static Service connect(java.util.Map<java.lang.String,java.lang.Object> args)
          Establishes a connection to a Splunk service using a map of arguments.
 java.io.InputStream export(java.lang.String search)
          Runs a search using the search/jobs/export endpoint, which streams results back in an input stream.
 java.io.InputStream export(java.lang.String search, java.util.Map args)
          Runs a search with arguments using the search/jobs/export endpoint, which streams results back in an input stream.
 java.lang.String getApp()
          Returns the app context for this Service instance.
 EntityCollection<Application> getApplications()
          Returns the collection of applications.
 java.lang.String[] getCapabilities()
          Returns an array of system capabilities.
 ConfCollection getConfs()
          Returns the collection of configurations.
 DeploymentClient getDeploymentClient()
          Returns the configuration and status of a deployment client.
 EntityCollection<DeploymentServerClass> getDeploymentServerClasses()
          Returns a collection of class configurations for a deployment server.
 EntityCollection<DeploymentServer> getDeploymentServers()
          Returns the configuration of all deployment servers.
 EntityCollection<DeploymentTenant> getDeploymentTenants()
          Returns a collection of multi-tenant configurations.
 DistributedConfiguration getDistributedConfiguration()
          Returns information about distributed search options.
 EntityCollection<DistributedPeer> getDistributedPeers()
          Returns a collection of distributed search peers.
 EventTypeCollection getEventTypes()
          Returns a collection of saved event types.
 EntityCollection<FiredAlert> getFiredAlerts()
          Returns a collection of alerts that have been fired by this Service instance.
 EntityCollection<Index> getIndexes()
          Returns a collection of Splunk indexes.
 ServiceInfo getInfo()
          Returns information about the Splunk service.
 InputCollection getInputs()
          Returns a collection of configured inputs.
 JobCollection getJobs()
          Returns a collection of current search jobs.
 EntityCollection<LicenseGroup> getLicenseGroups()
          Returns a collection of license group configurations.
 EntityCollection<LicenseMessage> getLicenseMessages()
          Returns a collection of messages from the licenser.
 LicensePoolCollection getLicensePools()
          Returns a collection of licenser pool configurations.
 EntityCollection<License> getLicenses()
          Returns a collection of licenses for this service.
 EntityCollection<LicenseSlave> getLicenseSlaves()
          Returns a collection of licenser slaves that report to the license master.
 EntityCollection<LicenseStack> getLicenseStacks()
          Returns a collection of license stack configurations.
 EntityCollection<Logger> getLoggers()
          Returns a collection of logging categories and their status.
 MessageCollection getMessages()
          Returns a collection of system messages.
 OutputDefault getOutputDefault()
          Returns global TCP output properties.
 EntityCollection<OutputGroup> getOutputGroups()
          Returns a collection of output group configurations.
 EntityCollection<OutputServer> getOutputServers()
          Returns a collection of data-forwarding configurations.
 EntityCollection<OutputSyslog> getOutputSyslogs()
          Returns a collection of configurations for forwarding data in standard syslog format.
 java.lang.String getOwner()
          Returns the current owner context.
 java.lang.String getPassword()
          Returns the current password that was used to authenticate the session.
 PasswordCollection getPasswords()
          Return a collection of passwords.
 EntityCollection<Role> getRoles()
          Returns a collection of Splunk user roles.
 SavedSearchCollection getSavedSearches()
          Returns a collection of saved searches.
 Settings getSettings()
          Returns service configuration information for an instance of Splunk.
 java.lang.String getToken()
          Returns the current session token.
 java.lang.String getUsername()
          Returns the Splunk account username that was used to authenticate the current session.
 UserCollection getUsers()
          Returns a collection of Splunk users.
 Service login(java.lang.String username, java.lang.String password)
          Authenticates the Service instance with a username and password.
 Service logout()
          Forgets the current session token.
 java.io.InputStream oneshot(java.lang.String query)
          Creates a oneshot synchronous search.
 java.io.InputStream oneshot(java.lang.String query, java.util.Map args)
          Creates a oneshot synchronous search using search arguments.
 java.net.Socket open(int port)
          Opens a raw socket to this service.
 ResponseMessage parse(java.lang.String query)
          Parses a search query and returns a semantic map for the search in JSON format.
 ResponseMessage parse(java.lang.String query, java.util.Map args)
          Parses a search query with additional arguments and returns a semantic map for the search in JSON format.
 ResponseMessage restart()
          Restarts the service.
 ResponseMessage send(java.lang.String path, RequestMessage request)
          Issues an HTTP request against the service using a request path and message.
 void setToken(java.lang.String value)
          Provides a session token for use by this Service instance.
 
Methods inherited from class com.splunk.HttpService
delete, delete, get, get, getHost, getPort, getPrefix, getScheme, getUrl, post, post
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

app

protected java.lang.String app
The current app context.


token

protected java.lang.String token
The current session token.


owner

protected java.lang.String owner
The current owner context. A value of "nobody" means that all users have access to the resource.


username

protected java.lang.String username
The Splunk account username, which is used to authenticate the Splunk instance.


password

protected java.lang.String password
The password, which is used to authenticate the Splunk instance.


DEFAULT_HOST

public static java.lang.String DEFAULT_HOST
The default host name, which is used when a host name is not provided.


DEFAULT_PORT

public static int DEFAULT_PORT
The default port number, which is used when a port number is not provided.


DEFAULT_SCHEME

public static java.lang.String DEFAULT_SCHEME
The default scheme, which is used when a scheme is not provided.

Constructor Detail

Service

public Service(java.lang.String host)
Creates a new Service instance using a host.

Parameters:
host - The host name.

Service

public Service(java.lang.String host,
               int port)
Creates a new Service instance using a host and port.

Parameters:
host - The host name.
port - The port number.

Service

public Service(java.lang.String host,
               int port,
               java.lang.String scheme)
Creates a new Service instance using a host, port, and scheme for accessing the service (http or https).

Parameters:
host - The host name.
port - The port number.
scheme - The scheme (http or https).

Service

public Service(ServiceArgs args)
Creates a new Service instance using a collection of arguments.

Parameters:
args - The ServiceArgs to initialize the service.

Service

public Service(java.util.Map<java.lang.String,java.lang.Object> args)
Creates a new Service instance using a map of arguments.

Parameters:
args - A Map of arguments to initialize the service.
Method Detail

connect

public static Service connect(java.util.Map<java.lang.String,java.lang.Object> args)
Establishes a connection to a Splunk service using a map of arguments. This member creates a new Service instance and authenticates the session using credentials passed in from the args map.

Parameters:
args - The args map.
Returns:
A new Service instance.

export

public java.io.InputStream export(java.lang.String search)
Runs a search using the search/jobs/export endpoint, which streams results back in an input stream.

Parameters:
search - The search query to run.
Returns:
The InputStream object that contains the search results.

export

public java.io.InputStream export(java.lang.String search,
                                  java.util.Map args)
Runs a search with arguments using the search/jobs/export endpoint, which streams results back in an input stream.

Parameters:
search - The search query to run.
args - Additional search arguments.
Returns:
The InputStream object that contains the search results.

getApp

public java.lang.String getApp()
Returns the app context for this Service instance. A null value indicates no app context, and a value of "-" indicates an app wildcard.

Returns:
The app context.

getApplications

public EntityCollection<Application> getApplications()
Returns the collection of applications.

Returns:
The application collection.

getConfs

public ConfCollection getConfs()
Returns the collection of configurations.

Returns:
The configurations collection.

getCapabilities

public java.lang.String[] getCapabilities()
Returns an array of system capabilities.

Returns:
An array of capabilities.

getDeploymentClient

public DeploymentClient getDeploymentClient()
Returns the configuration and status of a deployment client.

Returns:
The configuration and status of a deployment client.

getDeploymentServers

public EntityCollection<DeploymentServer> getDeploymentServers()
Returns the configuration of all deployment servers.

Returns:
The configuration of deployment servers.

getDeploymentServerClasses

public EntityCollection<DeploymentServerClass> getDeploymentServerClasses()
Returns a collection of class configurations for a deployment server.

Returns:
A collection of class configurations for a deployment server.

getDeploymentTenants

public EntityCollection<DeploymentTenant> getDeploymentTenants()
Returns a collection of multi-tenant configurations.

Returns:
A collection of multi-tenant configurations.

getDistributedConfiguration

public DistributedConfiguration getDistributedConfiguration()
Returns information about distributed search options.

Returns:
Distributed search information.

getDistributedPeers

public EntityCollection<DistributedPeer> getDistributedPeers()
Returns a collection of distributed search peers. A search peer is a Splunk server to which another Splunk server distributes searches. The Splunk server where the search originates is referred to as the search head.

Returns:
A collection of search peers.

getEventTypes

public EventTypeCollection getEventTypes()
Returns a collection of saved event types.

Returns:
A collection of saved event types.

getFiredAlerts

public EntityCollection<FiredAlert> getFiredAlerts()
Returns a collection of alerts that have been fired by this Service instance.

Returns:
A collection of fired alerts.

getIndexes

public EntityCollection<Index> getIndexes()
Returns a collection of Splunk indexes.

Returns:
A collection of indexes.

getInfo

public ServiceInfo getInfo()
Returns information about the Splunk service.

Returns:
Splunk service information.

getInputs

public InputCollection getInputs()
Returns a collection of configured inputs.

Returns:
A collection of inputs.

getJobs

public JobCollection getJobs()
Returns a collection of current search jobs.

Returns:
A collection of search jobs.

getLicenseGroups

public EntityCollection<LicenseGroup> getLicenseGroups()
Returns a collection of license group configurations.

Returns:
A collection of license group configurations.

getLicenseMessages

public EntityCollection<LicenseMessage> getLicenseMessages()
Returns a collection of messages from the licenser.

Returns:
A collection of licenser messages.

getOwner

public java.lang.String getOwner()
Returns the current owner context. A value of "-" indicates a wildcard, and a null value indicates no owner context.

Returns:
The current owner context.

getLicensePools

public LicensePoolCollection getLicensePools()
Returns a collection of licenser pool configurations.

Returns:
A collection of licenser pool configurations.

getLicenseSlaves

public EntityCollection<LicenseSlave> getLicenseSlaves()
Returns a collection of licenser slaves that report to the license master.

Returns:
A collection of licenser slaves.

getLicenseStacks

public EntityCollection<LicenseStack> getLicenseStacks()
Returns a collection of license stack configurations.

Returns:
A collection of license stack configurations.

getLicenses

public EntityCollection<License> getLicenses()
Returns a collection of licenses for this service.

Returns:
A collection of licenses.

getLoggers

public EntityCollection<Logger> getLoggers()
Returns a collection of logging categories and their status.

Returns:
A collection of logging categories and status.

getMessages

public MessageCollection getMessages()
Returns a collection of system messages.

Returns:
A collection of system messages.

getOutputDefault

public OutputDefault getOutputDefault()
Returns global TCP output properties.

Returns:
Global TCP output properties.

getOutputGroups

public EntityCollection<OutputGroup> getOutputGroups()
Returns a collection of output group configurations.

Returns:
A collection of output group configurations.

getOutputServers

public EntityCollection<OutputServer> getOutputServers()
Returns a collection of data-forwarding configurations.

Returns:
A collection of data-forwarding configurations.

getOutputSyslogs

public EntityCollection<OutputSyslog> getOutputSyslogs()
Returns a collection of configurations for forwarding data in standard syslog format.

Returns:
A collection of syslog forwarders.

getPassword

public java.lang.String getPassword()
Returns the current password that was used to authenticate the session.

Returns:
The current password.

getPasswords

public PasswordCollection getPasswords()
Return a collection of passwords. This collection is used for managing secure credentials.

Returns:
A collection of passwords.

getRoles

public EntityCollection<Role> getRoles()
Returns a collection of Splunk user roles.

Returns:
A collection of user roles.

getSavedSearches

public SavedSearchCollection getSavedSearches()
Returns a collection of saved searches.

Returns:
A collection of saved searches.

getSettings

public Settings getSettings()
Returns service configuration information for an instance of Splunk.

Returns:
Service configuration information.

getToken

public java.lang.String getToken()
Returns the current session token. Session tokens can be shared across multiple Service instances.

Returns:
The session token.

getUsername

public java.lang.String getUsername()
Returns the Splunk account username that was used to authenticate the current session.

Returns:
The current username.

getUsers

public UserCollection getUsers()
Returns a collection of Splunk users.

Returns:
A collection of users.

login

public Service login(java.lang.String username,
                     java.lang.String password)
Authenticates the Service instance with a username and password.

Parameters:
username - The Splunk account username.
password - The password for the username.
Returns:
The current Service instance.

logout

public Service logout()
Forgets the current session token.

Returns:
The current Service instance.

oneshot

public java.io.InputStream oneshot(java.lang.String query)
Creates a oneshot synchronous search.

Parameters:
query - The search query.
Returns:
The search results.

oneshot

public java.io.InputStream oneshot(java.lang.String query,
                                   java.util.Map args)
Creates a oneshot synchronous search using search arguments.

Parameters:
query - The search query.
args - The search arguments.
Returns:
The search results.

open

public java.net.Socket open(int port)
                     throws java.io.IOException
Opens a raw socket to this service.

Parameters:
port - The port to open. This port must already have been created as an allowable TCP input to the service.
Returns:
The socket.
Throws:
java.io.IOException

parse

public ResponseMessage parse(java.lang.String query)
Parses a search query and returns a semantic map for the search in JSON format.

Parameters:
query - The search query.
Returns:
The parse response message.

parse

public ResponseMessage parse(java.lang.String query,
                             java.util.Map args)
Parses a search query with additional arguments and returns a semantic map for the search in JSON format.

Parameters:
query - The search query.
args - Additional parse arguments.
Returns:
The parse response message.

restart

public ResponseMessage restart()
Restarts the service. The service will be unavailable until it has sucessfully restarted.

Returns:
The restart response message.

send

public ResponseMessage send(java.lang.String path,
                            RequestMessage request)
Issues an HTTP request against the service using a request path and message. This method overrides the base HttpService.send method and applies the Splunk authorization header, which is required for authenticated interactions with the Splunk service.

Overrides:
send in class HttpService
Parameters:
path - The request path.
request - The request message.
Returns:
The HTTP response.

setToken

public void setToken(java.lang.String value)
Provides a session token for use by this Service instance. Session tokens can be shared across multiple Service instances.

Parameters:
value - The session token.