Edge types
All edges created in the Topology Service should have an edge type defined. The following section lists the edge types that are associated with each of the public-facing edge labels. If none of the default edge types suffice, you can create custom edge types.
Edge types for public edge labels
Remember: Edge types can be thought of as being instances of the edge
label classes, in this case the public-facing edge labels. Most interactions with edges in
the Topology Service are with edge types rather than edge labels.
You can access the Swagger documentation for 'edge types' at the following default link: https://localhost/1.0/topology/swagger#!/Schema/getEdgeTypes
Edge type | Description | Example |
---|---|---|
contains | The source resource is considered to contain the target resource | Slot contains a card |
federates | The source resource is a federation of the target resources | Database federates nodes |
members | The source resource has the target resources as its members | Subnet members are IP addresses |
Edge type | Description | Example |
---|---|---|
aliasOf | Depicts that one resource is an alias of another; potentially from different providers | FQDN1 is an alias of FQDN2 |
assignedTo | When one resource has been assigned to another | The alarm is assingedTo an operator |
attachedTo | When one resource is attached to another | The plug is attachedTo to the cable |
classifies | When one resource is used to classify another | The government classifies the document |
configures | When one resource configures or provides configuration for another resource | The file configures the application |
deployedTo | Describes when one resource has been deployed to another | The application was deployedTo the server |
exposes | When one resource exposes another | The application exposes the interface |
has | Generalized relationship when one resource possesses, owns or has another resource | Host has component |
implements | When one resource implements another. | The class implements the interface |
locatedAt | When one resource is physically located in/at another resource's location | Host is locatedAt data centre |
manages | When one resource manages another | The boss manages the employee |
monitors | When one resource monitors another | The application monitors the host |
movedTo | When one resource has moved to a new and different resource | The service has movedTo the host |
origin | Indicates the origin of a Vertex | Device's origin is a vendor |
owns | Indicates ownership of one resource by another resource | The user owns the server |
rates | Can be used when one resource rates another | The manager rates the employee |
resolvesTo | When one resource resolves to another | The hostname resolvesTo an address |
realizes | When one resource realizes another | The hypervisor realizes the virtual machine |
segregates | When one resource segregates another | The firewall segregates the network |
uses | When one resource takes, employs or deploys another resource as a means of achieving something | Application uses this disk |
Edge type | Description | Example |
---|---|---|
accessedVia | One resource is accessed via another, typically remote. | Server is accessedVia a FQDN |
bindsTo | A network layering relationship such that the source 'runs on top' of the target. | Logical interface bindsTo a physical port |
communicatesWith | A relationship whereby one resource communicates with another | The sensor communicatesWith an application |
connectedTo | A relationship whereby one resource is connected to another | The laptop is connectedTo the switch |
downlinkTo | One resource is down-linked to another | The controller has a downlinkTo the sensor |
reachableVia | A resource is reachable via another resource | The network is reachableVia the gateway |
receives | A resource receives data from another | The Mail server receives an email |
routes | A relationship whereby one resource routes data for another | The device routes the data |
routesVia | A relationship whereby data from one resource routes via another | The traffic routesVia the device |
loadBalances | One resource which load balances for others | The load balancer loadBalances to servers |
resolved | When one resource resolved something for another | DNS server resolved IP address |
resolves | Represents that one resource uses another to resolve it | FQDN resolves to the address |
sends | A resource sends some data to another | The application sends an SMS message |
traverses | Describes when one resource traverses another | The message traverses the network |
uplinkTo | One resource is up-linked to another | The sensor has an uplinkTo the controller |
Edge type | Description | Example |
---|---|---|
dependsOn | A generic dependency between resources | One application dependsOn another |
runsOn | A resource runs on (and therefore depends on) another resource | The service runsOn the host |
Custom edge types
If none of the default edge types suitably represent a certain relationship, you can define a
custom edge type via the
https://localhost:8080/1.0/topology/types/edge POST API
https://localhost:8080/1.0/topology/types/edge POST API
Important: A custom edge type needs to be created
before the observation job passes any edges with the type to the Agile Service Manager
topology service.
- edgeType
- Required
- edgeLabel
- Required
- description
- Optional (but recommended)
Example:
curl -k -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'X-TenantID: cfd95b7e-3bc7-4006-a4a8-a73a79c71255' -d '{
"edgeType": "connectedTo",
"edgeLabel": "dataFlow",
"description": "Default relationship between two devices that exchange data"
}' 'https://localhost:8080/1.0/topology/types/edge'