Hub XMLRPC API Namespaces

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 APIs, 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.

Hub supports three different namespaces:

  • The hub namespace is used to target the Hub XMLRPC API Server. It supports all the methods that are available on a Uyuni Server XMLRPC API as well as Hub-specific XMLRPC endpoints. Hub-specific methods are primarily related to authentication.

  • The unicast namespace is used to target a single peripheral 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 a map.

Some important considerations for hub namespaces:

  • Individual server IDs can be obtained using client.hub.listServerIds(hubKey).

  • The unicast namespace assumes all methods receive hubKey and serverID as their first two parameters, then any other parameter as specified by the regular Server API.

    client.unicast.[namespace].[methodname](hubKey, serverId, param1, param2)
  • You can obtain hubKey using different authentication methods. For more information, see Hub XMLRPC API Authentication Modes.

  • The multicast namespace assumes all methods receive hubKey, a list of ServerIDs, then lists of per-server parameters as specified by the regular server API. The return value is a map, with Successful and Failed entries.

    client.multicast.[namespace].[methodname](hubKey, [serverId1, serverId2], [param1_s1, param1_s2], [param2_s1, param2_s2])