Topology definition requests

Topology definition requests handle creation, configuration, editing, and deletion of topology definitions on your Turbonomic appliance.

Getting Topology Definitions

For a list of topology definitions, the API returns an array of TopologyDataDefinitionApiDTO. Each TopologyDataDefinitionApiDTO will contain the UUID, entity type, and connection attributes for the defined topology. To get a single topology definition, include the UUID of the topology definition in the request.

Examples:

  • All Topology Definitions: GET https://10.10.10.10/api/v3/topologydefinitions

  • Single Topology Definition: GET https://10.10.10.10/api/v3/topologydefinitions/284711321829968

Response:

{
  "uuid":"284711313871856",
  "displayName":"Daltest1__App",
  "entityType":"BusinessApplication",
  "entityDefinitionData":{
    "namePrefix":"Daltest1_",
    "entityType":"VirtualMachine",
    "generationAndConnectionAttribute":{
      "expVal":"App",
      "expType":"EQ",
      "filterType":"virtualMachinesByTag",
      "caseSensitive":true,
      "entityType":null,
      "singleLine":false
    }
  }
}
                  

Creating a manual topology definition

To create a manual topology definition, you must provide the entityType of the definition, and manual mapping data to the entities to use. Consider the following input DTO to create a manual topology definition:

{
  "entityType":"BusinessApplication",
  "entityDefinitionData":{
    "manualConnectionData":{
      "BusinessTransaction":{
        "staticConnections":[
          "73585155548499",
          "73585155548500"
        ]
      },
      "Service":{
        "staticConnections":[
          "73585155548487",
          "73585155608929"
        ]
      },
      "ApplicationComponent":{
        "staticConnections":[
          "73596151905427",
          "73596151905425",
          "73596151905428",
          "73596151905429"
        ]
      },
      "VirtualMachine":{
        "staticConnections":[
          "73586657216608",
          "73585300874097",
          "73586657216576"
        ]
      },
      "DatabaseServer":{
        "staticConnections":[
          "73585314633044",
          "73585314632869",
          "73585314632946"
        ]
      },
      "Container":{
        "staticConnections":[
          "73585323455544",
          "73582124234229",
          "73585385438946"
        ]
      },
      "ContainerPod":{
        "staticConnections":[
          "73585334243044",
          "73585314324535",
          "73585314533256"
        ]
      }
    }
  },
  "displayName":"DalManualtest_"
}
      

In the manualConnectionData parameter of the entityDefinitionData, the UUIDs of the related entities have been provided for each level of the supply chain for which the topology should be instantiated.

The creation can be as simple or complex as desired. For example, a simple manual topology may look like the following:

{
  "entityType":"BusinessTransaction",
  "entityDefinitionData":{
    "manualConnectionData":{
      "Service":{
        "staticConnections":[
          "73585155548487"
        ]
      },
      "Container":{
        "staticConnections":[
          "73596151905298"
        ]
      }
    }
  },
  "uuid":"284711514573216",
  "displayName":"DalManualSimple"
}
        

Creating an automated topology definition

To create an automated topology definition, you must provide the entityType of the definition, and the data that makes up the regular expression used to determine dynamic group membership. Consider the following input DTO to create an automated topology definition:

{
   "entityType":"BusinessApplication",
   "entityDefinitionData":{
      "entityType":"VirtualMachine",
      "namePrefix":"Daltest1_",
      "generationAndConnectionAttribute":{
         "expType":"EQ",
         "expVal":"App",
         "filterType":"vmsByTag",
         "caseSensitive":false
      }
   }
}
      

In the generationAndConnectionAttribute parameter of the entityDefinitionData, the information that makes up the regular expression is sent. In this instance, it will match any virtual machine whose tag value equals "App".

Editing a topology definition

Edits the input fields of an existing topology definition, and accepts the modified TopologyDataDefinitionApiDTO as input.

Note: You can GET the topology definition first using the GET /topologydefinition/UUID request to see the current configuration. Note that you must pass all fields in the modified TopologyDataDefinitionApiDTO, not only the changed fields.

A successful edit will return the modified TopologyDataDefinitionApiDTO.

Example: PUT https://10.10.10.10/api/v3/topologydefinitions

Deleting a topology definition

Deletes the specified topology definition and removes all created entities. This will also remove any pending actions related to the deleted entities.

Example: DELETE https://10.10.10.10/api/v3/topologydefinitions/284711321829968

Response: A successful deletion request returns a Response Code of 200.