Hub XMLRPC API Namespaces
The Hub XMLRPC API operates in a similar way to the Uyuni API. For Uyuni API documentation, see https://documentation.suse.com/suma.
The Hub XMLRPC API exposes the same methods that are available from the server’s XMLRPC API, with a few differences in parameter and return types. Additionally, the Hub XMLRPC API supports some Hub-specific end points which are not available in the Uyuni API.
The Hub XMLRPC API supports three different namespaces:
-
The
hub
namespace is used to target the Hub XMLRPC API Server. It supports Hub-specific XMLRPC endpoints which are primarily related to authentication. -
The
unicast
namespace is used to target a single server registered in the hub. It redirects any call transparently to one specific server and returns any value as if the server’s XMLRPC API endpoint was used directly. -
The
multicast
namespace is used to target multiple peripheral servers registered in the hub. It redirects any call transparently to all the specified servers and returns the results in the form of amap
. -
If you do not specify a namespace, all calls are transparently redirected to the underlying Uyuni Server XMLRPC API of the Hub Server. This allows you to call all available methods on the Uyuni Server XMLRPC API.
Methods called without specifying any of the above namespaces will be forwarded to the normal XMLRPC API of the hub. This is the API exposed on ports 80 and 443.
Some important considerations for hub namespaces:
-
Individual server IDs can be obtained using
client.hub.listServerIds(hubSessionKey)
. -
The
unicast
namespace assumes all methods receivehubSessionKey
and serverID as their first two parameters, then any other parameter as specified by the regular Server API.client.unicast.[namespace].[methodName](hubSessionKey, serverId, param1, param2)
-
The
hubSessionKey
can be obtained using different authentication methods. For more information, see Hub XMLRPC API Authentication Modes. -
The
multicast
namespace assumes all methods receivehubSessionKey
, a list ofServerID
values, then lists of per-server parameters as specified by the regular server XMLRPC API. The return value is amap
, withSuccessful
andFailed
entries for each server involved in the call.client.multicast.[namespace].[methodname](hubSessionKey, [serverId1, serverId2], [param1_s1, param1_s2], [param2_s1, param2_s2])