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!

Enter the Splunk Community Dashboard Challenge for Your Chance to Win!

The Splunk Community Dashboard Challenge is underway! This is your chance to showcase your skills in creating ...

.conf24 | Session Scheduler is Live!!

.conf24 is happening June 11 - 14 in Las Vegas, and we are thrilled to announce that the conference catalog ...

Introducing the Splunk Community Dashboard Challenge!

Welcome to Splunk Community Dashboard Challenge! This is your chance to showcase your skills in creating ...