GET /api/topology

Description

Returns the full domain topology.

By passing a value for serviceType it is possible to filter the groups in the topology so that only groups containing services of a certain type (e.g. gateway, nodemanager) are returned. The type of each service in a group is the same. If serviceType is not specified then no filtering based on the service type will be done, i.e. all types are returned.


Resource URL

https://localhost:8090/api/topology/
https://localhost:8090/api/topology?serviceType=gateway
https://localhost:8090/api/topology?serviceType=nodemanager


Parameters

serviceType optional A list of the types of service types to return, this may be set to gateway, or nodemanager.

Responses

Response Code Description
200 Success. The response body contains the Topology. Refer to Javadoc for com.vordel.api.topology.model.Topology.

Example Request and Response

GET https://localhost:8090/api/topology/

HTTP 1.1 200 OK

{
    "result": {
        "id": "7c2a8275-310d-40d1-8987-68eb5c01ecbe",
        "version": 2,
        "timestamp": 1353933201805,
        "productVersion": "7.2.0",
        "hosts": [
            {
                "id": "host-1",
                "name": "host.com"
            }
        ],
        "groups": [
            {
                "id": "group-2",
                "name": "Group1",
                "tags": {},
                "services": [
                    {
                        "id": "instance-1",
                        "name": "APIServer1",
                        "type": "gateway",
                        "scheme": "https",
                        "hostID": "host-1",
                        "managementPort": 8085,
                        "tags": {},
                        "enabled": true
                    }
                ],
                "hostIds": [
                    "host-1"
                ]
            },
            {
                "id": "group-1",
                "name": "Node Manager Group",
                "tags": {},
                "services": [
                    {
                        "id": "nodemanager-1",
                        "name": "Node Manager on host.com",
                        "type": "nodemanager",
                        "scheme": "https",
                        "hostID": "host-1",
                        "managementPort": 8090,
                        "tags": {
                            "internal_admin_nm": "true"
                        },
                        "enabled": true
                    }
                ],
                "hostIds": [
                    "host-1"
                ]
            }
        ],
        "uniqueIdCounters": {
            "Group": 3,
            "Host": 2,
            "NodeManager": 2,
            "Gateway": 2
        }
    }
}