Getting Data In

How to create new MACRO using Rest api?

jadengoho
Builder

As of now i follow this code and it works perfectly :

  from splunklib.client import connect
  service = connect(username="admin", password="changeme", host="myhost", app="search")
  service.post('properties/macros/test', definition="test123")
  print service.get('properties/macros/test/definition')["body"]

I see it here https://answers.splunk.com/answers/223843/rest-endpoint-for-modifying-applocalmacrosconf.html
But that code was to update ,

What if i want to add or delete a macro using the code ?

0 Karma
1 Solution

harsmarvania57
Ultra Champion

Hi @jadenhoho,

To create macro using Rest API, you can achieve like this

import splunklib.client as client
service = client.connect(username="admin", password="changeme", host="myhost", app="search")
service.post('properties/macros', __stanza="test")
service.post('properties/macros/test', definition="test123")
print service.get('properties/macros/test/definition')["body"]

I don't have idea about delete one.

View solution in original post

0 Karma

harsmarvania57
Ultra Champion

Hi @jadenhoho,

To create macro using Rest API, you can achieve like this

import splunklib.client as client
service = client.connect(username="admin", password="changeme", host="myhost", app="search")
service.post('properties/macros', __stanza="test")
service.post('properties/macros/test', definition="test123")
print service.get('properties/macros/test/definition')["body"]

I don't have idea about delete one.

0 Karma

jadengoho
Builder

Thanks for that it is helpfull ,
i already tried

  import splunklib.client as client
 service = client.connect(username="admin", password="changeme", host="myhost", app="search")
service.delete('properties/macros/name')

But it only does disable the macro but not delete it fully,
is there any function that apply that ?

0 Karma

harsmarvania57
Ultra Champion

This one worked for me for deleting macro using REST API

import splunklib.client as client
service = client.connect(username="admin", password="changeme", host="myhost", app="search")
service.delete('/servicesNS/nobody/search/admin/macros/test')
0 Karma

jadengoho
Builder

Thank you very much this code really help 🙂

0 Karma
Get Updates on the Splunk Community!

Fall Into Learning with New Splunk Education Courses

Every month, Splunk Education releases new courses to help you branch out, strengthen your data science roots, ...

Super Optimize your Splunk Stats Searches: Unlocking the Power of tstats, TERM, and ...

By Martin Hettervik, Senior Consultant and Team Leader at Accelerate at Iver, Splunk MVPThe stats command is ...

How Splunk Observability Cloud Prevented a Major Payment Crisis in Minutes

Your bank's payment processing system is humming along during a busy afternoon, handling millions in hourly ...