Dashboards & Visualizations

Is it possible to access properties from a custom config file (props.conf) in a Simple XML extension?

kbarker302
Communicator

I would like to access properties from a custom config file in a Simple XML extension - is this possible? For now, I am just trying to access the props.conf from the default search app using the following code, which is based on the SplunkJS SDK documentation:

var files = svc.configurations( 
{    
  app: "search",
  owner: "admin"
});

files.item("props", function(err, propsFile) {
    propsFile.fetch(function(err, props) {
    console.log(props.properties()); 
  });
}); 

However, I am unsure how to instantiate the svc (splunkjs.Service) object for a Simple XML extension. I have tried instantiating it like this:

var http = new splunkjs.ProxyHttp("/proxy");
var svc = new splunkjs.Service(http, {
    username: "admin",
    password: "changeme",
    scheme: "https",
    host: "localhost",
    port:"8089",
    version:"6.3.0"
});

and it does give me a configurations object, but the result is always null.

Any help would be greatly appreciated.

0 Karma
1 Solution

kbarker302
Communicator

For the record, I was able to accomplish what I wanted using the following code:

require([
    "splunkjs/mvc",
    "splunkjs/mvc/simplexml/ready!"
], function(
 mvc
) {
    mvc.createService().get("/servicesNS/-/search/configs/conf-props",{},function(err,response) {
        content=response.data.entry[0].content;
    }); 
}); 

This returns a content object that contains the properties I was looking for, which can be queried as necessary.

H/T to the following code on GitHub - the _get_api_key function posted there got me pointed in the right direction:

https://github.com/CartoDB/cartodb-splunk/blob/master/appserver/static/cartodb/cartodb.js

View solution in original post

kbarker302
Communicator

For the record, I was able to accomplish what I wanted using the following code:

require([
    "splunkjs/mvc",
    "splunkjs/mvc/simplexml/ready!"
], function(
 mvc
) {
    mvc.createService().get("/servicesNS/-/search/configs/conf-props",{},function(err,response) {
        content=response.data.entry[0].content;
    }); 
}); 

This returns a content object that contains the properties I was looking for, which can be queried as necessary.

H/T to the following code on GitHub - the _get_api_key function posted there got me pointed in the right direction:

https://github.com/CartoDB/cartodb-splunk/blob/master/appserver/static/cartodb/cartodb.js

Get Updates on the Splunk Community!

Stay Connected: Your Guide to May Tech Talks, Office Hours, and Webinars!

Take a look below to explore our upcoming Community Office Hours, Tech Talks, and Webinars this month. This ...

They're back! Join the SplunkTrust and MVP at .conf24

With our highly anticipated annual conference, .conf, comes the fez-wearers you can trust! The SplunkTrust, as ...

Enterprise Security Content Update (ESCU) | New Releases

Last month, the Splunk Threat Research Team had two releases of new security content via the Enterprise ...