Skip to content

Commit c6bf254

Browse files
author
Shakeel Mohamed
committed
Merge branch 'bug/namespace-for-server-endpoints' into develop
2 parents 003de93 + 6eba95f commit c6bf254

File tree

3 files changed

+24
-8
lines changed

3 files changed

+24
-8
lines changed

examples/binding1.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,10 @@ def indexes(self):
4242
return self.context.get("data/indexes")
4343

4444
def info(self):
45-
return self.context.get("server/info")
45+
return self.context.get("/services/server/info")
4646

4747
def settings(self):
48-
return self.context.get("server/settings")
48+
return self.context.get("/services/server/settings")
4949

5050
def search(self, query, **kwargs):
5151
return self.context.post("search/jobs/export", search=query, **kwargs)

splunklib/client.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@
9393
PATH_INDEXES = "data/indexes/"
9494
PATH_INPUTS = "data/inputs/"
9595
PATH_JOBS = "search/jobs/"
96-
PATH_LOGGER = "server/logger/"
96+
PATH_LOGGER = "/services/server/logger/"
9797
PATH_MESSAGES = "messages/"
9898
PATH_MODULAR_INPUTS = "data/modular-inputs"
9999
PATH_ROLES = "authorization/roles/"
@@ -445,7 +445,7 @@ def info(self):
445445
:return: The system information, as key-value pairs.
446446
:rtype: ``dict``
447447
"""
448-
response = self.get("server/info")
448+
response = self.get("/services/server/info")
449449
return _filter_content(_load_atom(response, MATCH_ENTRY_CONTENT))
450450

451451
@property
@@ -540,8 +540,8 @@ def restart(self, timeout=None):
540540
msg = { "value": "Restart requested by " + self.username + "via the Splunk SDK for Python"}
541541
# This message will be deleted once the server actually restarts.
542542
self.messages.create(name="restart_required", **msg)
543-
result = self.post("server/control/restart")
544-
if timeout is None:
543+
result = self.post("/services/server/control/restart")
544+
if timeout is None:
545545
return result
546546
start = datetime.now()
547547
diff = timedelta(seconds=timeout)
@@ -3268,7 +3268,7 @@ class Settings(Entity):
32683268
"""This class represents configuration settings for a Splunk service.
32693269
Retrieve this collection using :meth:`Service.settings`."""
32703270
def __init__(self, service, **kwargs):
3271-
Entity.__init__(self, service, "server/settings", **kwargs)
3271+
Entity.__init__(self, service, "/services/server/settings", **kwargs)
32723272

32733273
# Updates on the settings endpoint are POSTed to server/settings/settings.
32743274
def update(self, **kwargs):
@@ -3281,7 +3281,7 @@ def update(self, **kwargs):
32813281
:type kwargs: ``dict``
32823282
:return: The :class:`Settings` collection.
32833283
"""
3284-
self.service.post("server/settings/settings", **kwargs)
3284+
self.service.post("/services/server/settings/settings", **kwargs)
32853285
return self
32863286

32873287

tests/test_service.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,22 @@ def test_info(self):
4545
for key in keys:
4646
self.assertTrue(key in info.keys())
4747

48+
def test_info_with_namespace(self):
49+
# Make sure we're not accessing /servicesNS/admin/search/server/info
50+
# instead of /services/server/info
51+
# Backup the values, which are probably set to None
52+
owner, app = self.service.namespace["owner"], self.service.namespace["app"]
53+
54+
self.service.namespace["owner"] = self.service.username
55+
self.service.namespace["app"] = "search"
56+
try:
57+
self.assertEqual(self.service.info.licenseState, 'OK')
58+
except HTTPError as he:
59+
self.fail("Couldn't get the server info, probably got a 403! %s" % he.message)
60+
61+
self.service.namespace["owner"] = owner
62+
self.service.namespace["app"] = app
63+
4864
def test_without_namespace(self):
4965
service = client.connect(**self.opts.kwargs)
5066
service.apps.list()

0 commit comments

Comments
 (0)