Constructor for splunkjs.Service.SavedSearch
Constructor for splunkjs.Service.SavedSearch
Name | Type | Description |
---|---|---|
service | splunkjs.Service | A service instance |
name | String | The name of saved search |
namespace | Object | Namespace information (owner, app, sharing) |
init: function(service, name, namespace) {
this.name = name;
this._super(service, this.path(), namespace);
this.acknowledge = utils.bind(this, this.acknowledge);
this.dispatch = utils.bind(this, this.dispatch);
this.history = utils.bind(this, this.history);
this.suppressInfo = utils.bind(this, this.suppressInfo);
},
Update the saved search
This will update the saved search on the server. Because saved searches require the presence of the search parameter, even if it is not being modified, the SDK will fetch it from the server (or from the local cache) if it is not present in the user-supplied input.
Name | Type | Description |
---|---|---|
props | Object | Properties to be updated the object with. |
callback | Function | A callback when the object is updated: |
update: function(params, callback) {
params = params || {};
if (!params.search) {
var update = this._super;
var req = this.fetch(function(err, search) {
if (err) {
callback(err);
}
else {
params.search = search.properties().search;
update.call(search, params, function() {
if (req.wasAborted) {
return; // aborted, so ignore
}
else {
callback.apply(null, arguments);
}
});
}
});
return req;
}
else {
return this._super(params, callback);
}
}
});
Check the suppression state of a saved search.
Name | Type | Description |
---|---|---|
callback | Function | A callback when the suppression state is retrieved: |
var savedSearch = service.savedSearches().item("MySavedSearch");
savedSearch.history(function(err, suppressionState, search) {
console.log("STATE: ", suppressionState);
});
suppressInfo: function(callback) {
callback = callback || function() {};
var that = this;
return this.get("suppress", {}, function(err, response) {
callback(err, response.data.entry.content, that);
});
},
Retrieve the job history for a saved search.
The history is a list of splunkjs.Service.Job instances
Name | Type | Description |
---|---|---|
callback | Function | A callback when the history is retrieved: |
var savedSearch = service.savedSearches().item("MySavedSearch");
savedSearch.history(function(err, jobs, search) {
for(var i = 0; i < jobs.length; i++) {
console.log("Job " + i + ": ", jobs[i].sid);
}
});
history: function(callback) {
callback = callback || function() {};
var that = this;
return this.get("history", {}, function(err, response) {
if (err) {
callback(err);
return;
}
var jobs = [];
var data = response.data.entry;
for(var i = 0; i < data.length; i++) {
var jobData = response.data.entry[i];
var namespace = utils.namespaceFromProperties(jobData);
var job = new root.Job(that.service, jobData.name, namespace);
job._load(jobData);
jobs.push(job);
}
callback(null, jobs, that);
});
},
Dispatch a saved search
Dispatching a saved search will result in a search job being created and a splunkjs.Service.Job instance returned in the callback.
Name | Type | Description |
---|---|---|
options | Object | An object of options for dispatching this saved search |
callback | Function | A callback when the saved search was dispatched: |
var savedSearch = service.savedSearches().item("MySavedSearch");
savedSearch.dispatch({force:dispatch: false}, function(err, job) {
console.log("Job SID: ", job.sid);
});
dispatch: function(options, callback) {
if (!callback && utils.isFunction(options)) {
callback = options;
options = {};
}
callback = callback || function() {};
options = options || {};
var that = this;
var req = this.post("dispatch", options, function(err, response) {
if (err) {
callback(err);
return;
}
var sid = response.data.sid;
var job = new root.Job(that.service, sid, that.namespace);
callback(null, job, that);
});
return req;
},
Acknowledge a saved search
Name | Type | Description |
---|---|---|
callback | Function | A callback when the saved search was acknowledged: |
var savedSearch = service.savedSearches().item("MySavedSearch");
savedSearch.acknowledge(function(err, search) {
console.log("ACKNOWLEDGED);
});
acknowledge: function(callback) {
callback = callback || function() {};
var that = this;
var req = this.post("acknowledge", {}, function(err) {
callback(err, that);
});
return req;
},
REST path for this resource (with no namespace)
path: function() {
return Paths.savedSearches + "/" + encodeURIComponent(this.name);
},
Retrieve the updated time for this entity
updated: function() {
return this._updated;
},
Reload the entity
This will reload the entity on the server.
Name | Type | Description |
---|---|---|
callback | Function | A callback when the object is reloaded: |
reload: function(callback) {
callback = callback || function() {};
var that = this;
this.post("_reload", {}, function(err, response) {
if (err) {
callback(err);
}
else {
callback(null, that);
}
});
}
});
Refresh the resource
This will fetch the object from the server and load it up.
Name | Type | Description |
---|---|---|
options | Object | Optional dictionary of collection filtering and pagination options |
callback | Function | A callback when the object is retrieved: |
fetch: function(options, callback) {
if (!callback && utils.isFunction(options)) {
callback = options;
options = {};
}
callback = callback || function() {};
options = options || {};
var that = this;
return this.get("", options, function(err, response) {
if (err) {
callback(err);
}
else {
that._load(response.data.entry);
callback(null, that);
}
});
},
Whether or not to call fetch()
after an update to fetch the updated item. By default we don't fetch the entity, as the endpoint will return (echo) the updated entity
fetchOnUpdate: false,
Retrieve the fields information for this entity
fields: function() {
return this._fields;
},
Enable the entity
This will enable the entity on the server.
Name | Type | Description |
---|---|---|
callback | Function | A callback when the object is enabled: |
enable: function(callback) {
callback = callback || function() {};
var that = this;
this.post("enable", {}, function(err, response) {
if (err) {
callback(err);
}
else {
callback(null, that);
}
});
},
Disable the entity
This will disable the entity on the server.
Name | Type | Description |
---|---|---|
callback | Function | A callback when the object is disabled: |
disable: function(callback) {
callback = callback || function() {};
var that = this;
this.post("disable", {}, function(err, response) {
if (err) {
callback(err);
}
else {
callback(null, that);
}
});
},
Delete the entity
This will tell the server to delete this entity.
Name | Type | Description |
---|---|---|
callback | Function | A callback when the object is deleted: |
remove: function(callback) {
callback = callback || function() {};
var that = this;
return this.del("", {}, function(err) {
callback(err);
});
},
Retrieve the ACL information for this entity
acl: function() {
return this._acl;
},
Retrieve the published time for this entity
published: function() {
return this._published;
},
Load the resource, also storing the properties.
Name | Type | Description |
---|---|---|
properties | Object | The properties for this resource |
_load: function(properties) {
properties = utils.isArray(properties) ? properties[0] : properties;
// Initialize the properties to
// empty values
properties = properties || {
content: {},
fields: {},
acl: {},
links: {}
};
this._super(properties);
// Take out the entity-specific content
this._properties = properties.content || {};
this._fields = properties.fields || this._fields || {};
this._acl = properties.acl || {};
this._links = properties.links || {};
this._author = properties.author || null;
this._updated = properties.updated || null;
this._published = properties.published || null;
},
Retrieve the author information for this entity
author: function() {
return this._author;
},
Retrieve the links information for this entity
links: function() {
return this._links;
},
Retrieve the state for this resource
This will retrieve the current full state for this resource.
state: function() {
return this._state;
}
});
Retrieve the properties for this resource
This will retrieve the current properties for this resource.
properties: function() {
return this._properties;
},
Perform a relative DELETE request
Perform a relative DELETE request on this endpoint's path, combined with the parameters and a relative path if specified.
Name | Type | Description |
---|---|---|
relpath | String | A relative path to append at the end of the path |
params | Object | A dictionary of parameters to add to the query string |
callback | Function | A callback to be invoked when the request is complete: |
// Will make a request to {service.prefix}/search/jobs/123456
var endpoint = new splunkjs.Service.Endpoint(service, "search/jobs/12345");
endpoint.delete("", {}, function() { console.log("DELETED"))});
del: function(relpath, params, callback) {
var url = this.qualifiedPath;
// If we have a relative path, we will append it with a preceding
// slash.
if (relpath) {
url = url + "/" + relpath;
}
return this.service.del(
url,
params,
callback
);
}
});
Perform a relative POST request
Perform a relative POST request on this endpoint's path, combined with the parameters and a relative path if specified.
Name | Type | Description |
---|---|---|
relpath | String | A relative path to append at the end of the path |
params | Object | A dictionary of parameters to add to the body |
callback | Function | A callback to be invoked when the request is complete: |
// Will make a request to {service.prefix}/search/jobs/123456/control
var endpoint = new splunkjs.Service.Endpoint(service, "search/jobs/12345");
endpoint.post("control", {action: "cancel"}, function() { console.log("CANCELLED"))});
post: function(relpath, params, callback) {
var url = this.qualifiedPath;
// If we have a relative path, we will append it with a preceding
// slash.
if (relpath) {
url = url + "/" + relpath;
}
return this.service.post(
url,
params,
callback
);
},
Perform a relative GET request
Perform a relative GET request on this endpoint's path, combined with the parameters and a relative path if specified.
Name | Type | Description |
---|---|---|
relpath | String | A relative path to append at the end of the path |
params | Object | A dictionary of parameters to add to the query string |
callback | Function | A callback to be invoked when the request is complete: |
// Will make a request to {service.prefix}/search/jobs/123456/results?offset=1
var endpoint = new splunkjs.Service.Endpoint(service, "search/jobs/12345");
endpoint.get("results", {offset: 1}, function() { console.log("DONE"))});
get: function(relpath, params, callback) {
var url = this.qualifiedPath;
// If we have a relative path, we will append it with a preceding
// slash.
if (relpath) {
url = url + "/" + relpath;
}
return this.service.get(
url,
params,
callback
);
},