Topology API

The Topology API is exposed by the Node Manager in order to manage the domain topology, i.e. groups of API Servers. The main uses of the Topology API are:- host registration (which includes Node Manager registration), and API Server instance creation. The domain topology holds all the information required to route management traffic to all the Node Managers and API Servers within the domain.

The domain topology contains the following types of items:-

The Topology API includes methods to:-

Each of the above topology items has a unique id within the topology, the ids are of the following form:-

These ids are used throughout the API methods of the Topology and Deployment APIs. Use the managedomain "Print Topology" option to view the topology ids of each topology item.

Client applications, e.g. Policy Studio, Vordel Manager and managedomain, will invoke this API on the Admin Node Manager. Client-based invocations may result in the Admin Node Manager calling the Topology API in other Node Managers, or indeed a Node Manager that is not the Admin may call another Node Manager that may or may not be the Admin Node Manager. The API is built with the assumption that all Node Managers can call all other Node Managers. Some methods called by one Node Manager on another are for internal use only and are not included in the documentation.


Root Resources

Entry point for the topology API.

Resource Description
GET /api/topology Get the topology

Hosts

Host API methods allow clients to perform CRUD (Create, Read, Update and Delete) operations on hosts defined in the Topology.

Resource Description
POST /api/topology/hosts Add a host to the topology.
GET /api/topology/hosts Get all hosts in the topology.
GET /api/topology/hosts/{hostID} Get the host specified by hostID from the topology.
PUT /api/topology/hosts Update the name of a host.
DELETE /api/topology/hosts/{hostID} Delete the host specified by hostID from the topology.
GET /api/topology/hosts/id Get a host id.

Groups

Group API methods allow clients to perform CRUD (Create, Read, Update and Delete) operations on groups defined in the Topology.

Resource Description
POST /api/topology/groups Adds an empty group to the Topology.
GET /api/topology/groups Get all groups in the Topology.
GET /api/topology/groups/{groupID} Get the group specified by groupID from the topology.
PUT /api/topology/groups Update a group's tags or name.
DELETE /api/topology/groups/{groupID} Delete the group specified by groupID from the topology.
GET /api/topology/groups/id Get a group id.
POST /api/topology/groups/{groupID}/lock Lock a Group for exclusive access.
DELETE /api/topology/groups/{groupID}/lock/{userID} Unlock a Group for exclusive access.
DELETE /api/topology/groups/{groupID}/lock Force the unlocking of a Group irrespective of the original locker.

Services

Service API methods allow clients to perform CRUD (Create, Read, Update and Delete) operations on services defined in the Topology.

Resource Description
POST /api/topology/services/{groupID} Adds a service (e.g. API Server instance) to the Topology
GET /api/topology/services/{groupID} Get all services in the group specified by groupID.
GET /api/topology/services/{groupID}/{serviceID} Get the service specified by serviceID from the group specified by groupID.
PUT /api/topology/services/{groupID} Update a service name, tags, management port, etc
DELETE /api/topology/services/{groupID}/{serviceID} Delete a service from the topology.
GET /api/topology/services/id/{groupID} Get a service id.
GET /api/topology/services/status/{groupID}/{serviceID} Get the status of the specified service.
GET /api/topology/id Get the next topology id of a certain type
POST /api/topology/services/{groupID}/csr Create a private key and CSR for SSL communications for an API Gateway
GET /api/topology/services/sign Create a signed certificate for SSL communications
POST /api/topology/services/{groupID}/withcert Adds a service (e.g. API Server instance) to the Topology