Relationships - Documentation for Bmc Helix Discovery
Node Associations Are Represented by Relationships. There Are Different Types of Relationships Which Define Hierarchy, Hosting, Containment, Ownership...
Node associations are represented by relationships. There are different types of relationships which define hierarchy, hosting, containment, ownership, manufacturer, category, versions, location, dependency, in fact, any kind of relationship required to model an IT infrastructure.
A type of relationship is represented as colon-separated strings. A relationship comprises more than the two node endpoints, it contains the "route" between the two. This is made up in the following way:
Node:Role:RelationshipLink:Role:Node
For example, the relationship from a Host node to the Cluster node that contains the host is shown as:
Host:ContainedHost:HostContainment:HostContainer:Cluster
The relationship from a Cluster node to a Host node that it contains is shown as:
Cluster:HostContainer:HostContainment:ContainedHost:Host
Note
A relationship is a bidirectional link between two nodes. In this section, the terms "start node" and "target node" are used to describe the way that the relationship is built. However, once the relationship has been built, the terms are redundant.
The general timeline for the creation of a relationship is:
- Create "start node".
- Create "target node".
- Create relationship between 1 and 2.
The individual components of the relationship are described in the following sections.
Node
The node is any kind of node that can have a relationship, such as a Host node. All nodes can have relationships, including relationships.
Must Read
Relationship kinds
The relationship kind describes the nature of the relationship. For example, the DeviceSubnet relationship kind describes the link between a device and the subnet that it is on, but without any directionality implied.
Note
This section refers to Relationship Kinds as the colon-separated lists which describe how two nodes are related, the roles that each node plays in the relationship, and the Relationship Link which describes the nature of the Relationship.
A complete list of Relationship Kinds with their descriptions is provided in the table below.
Relationship Kind | Description |
|---|---|
Hierarchy Relationships | |
Hierarchy | Relates nodes into a hierarchy. |
Attachment Relationships | |
Attachment | Relates a node to a file attachment. |
Category Relationships | |
ElementCategory | Relates an element to a category it is in. |
People Relationships | |
Ownership | Relates an element to its owner. |
Management | Relates an employee to their manager. |
Locations | |
Location | Relates an element to the location it is in. |
LocationContainment | Relates a location to the larger location it is in. |
Hosts | |
HostedSoftware | Relates software to the host it is running on. |
HostContainment | Relates hosts and software instances to contained virtual hosts. |
EndpointIdentity | Relates Hosts that appear to have changed identity |
| HostedService | Relates a service to the host it is running on |
Applications | |
| Activity | Relates a Model Definition to an activity that has been performed on it |
Communication | Relates software instances to communicating software instances. Used when a pattern can identify configuration within a piece of software that specifies communication with another piece of software. For example, a pattern might be able to read a configuration file for an application server and see the address of a database server. |
Dependency | Relates elements to elements they depend upon. |
SoftwareContainment | Relates an item of software to an item contained in it. |
SoftwareService | Relates an item of software to a service. |
| DefinitionClone | Relates a Model Definition to a cloned version of it |
| DefinitionContainment | Relates a Model Definition to items included or excluded by it |
| FunctionalContainment | Relates a Functional Component to an item contained within it |
| MultiFacet | Relates multiple facets of a single process |
| ObservedCommunication | Relates observed communicating elements. Used when communication between two pieces of software has been generically discovered from information like open network connections and listening ports. When Discovery is able to identify both ends of a communication, it tries to then correlate this information with software that it sees running. For this to work well, often root/administrator access for Discovery is needed, as operating systems only give all the pertinent information to sufficiently privileged users. |
Physical Model | |
| AdapterWithPort | Relates an adapter to a port |
DeviceSubnet | Relates an IP device to the subnet it is on. |
DeviceInterface | Relates an IP device with one of its network interfaces. |
| DeviceAddress | Relates an IP device with one of its IP addresses |
NetworkLink | Relates a network interface on a host to a port interface on a switch. |
HostedFile | Relates a file to its host. |
RelatedFile | Relates a file to something that uses it. |
FibreChannelNodeDevice | Relates a World Wide Node Number (WWNN) to an HBA. |
FibreChannelNodePort | Relates a World Wide Port Number (WWPN) to a WWNN. |
FileSystemMount | Relates the mounter and the FileSystem. |
| ChosenEndpoint | Relates a device successfully scanned by this endpoint |
| Endpoint | Relates a Discovery Access that successfully scanned a device by this endpoint |
| CloudService | Relates cloud services |
| CouplingFacility | Relates Coupling Facility to its dependents |
| ExportedFileSystem | Relates exported FileSystem to local FileSystem |
| ExposedView | Relates a port to an exposed view (volume) |
| HardwareUse | Relates hardware to the system using it |
| InterfaceAddress | Relates a network interface with its IP addresses |
| NetworkService | A network device service |
Directly Discovered Data | |
DiscoveryAccessResult | Relates a DiscoveryAccess to one of its results. |
List | Relates a List of Members. |
Sequential | Relates sequential nodes. |
Inference | Relates an inferred node with its source node. |
Status | Relationship to a status node. |
AccessFailure | Access failure. |
AccessOptimization | Access optimization. |
Metadata | Information about a discovery request. |
| DiscoveryCondition | Relates an element with a condition to that condition |
| EndpointRange | A range used to control endpoint access |
| ImplicitScan | Implicitly scanned IP address |
| Log | Relates a log to an item |
Pattern Relationships | |
PatternModuleContainment | Associates a pattern module to its contents. |
PatternModuleDependency | Associates a pattern module to its dependents. |
Maintainer | Pattern that is maintaining an inferred node. |
Requirement | Associates a pattern that will need the products of another. |
Override | Associate patterns that are being overridden or are overriding others. |
Deprecated | Associated pattern has been deprecated or is deprecating others. |
Error | Errors generated by this pattern at runtime. |
PatternExecution | Associates a PatternExecution to its Pattern. |
PatternTouch | Associate a PatternTrigger with things it changed. |
PatternTrigger | Associates a PatternExecution to its trigger nodes. |
Request | Associates a Pattern to the DDD nodes requested by it. |
IntegrationImplementation | Relates the implementation of a resource |
ResourceUse | Relates the usage of a resource |
| CodeGeneration | Relates a generated pattern module to a pattern definition |
| UploadContents | Contents of unloaded knowledge |
Generic Modeling Relationships | |
Containment | Relates an element to its container. |
Detail | Relates an element to details about it. |
SupportDetail | Relates Host and Software Instance nodes to SupportDetail nodes. |
| Collection | Relates an element to the collection in which it is contained |
| Mirror | Represents a mirroring relationship |
| Replacement | A node replaced during update |
| Replication | Represents a replication relationship |
Rule Relationships | |
RuleModuleDependency | Associates a rule module to its dependents. |
Foundation User Relationships | |
Favorite | A Favorite item for a User |
InvokingUser | Relates to the invoking user |
Hardware Reference Data Relationships | |
ReferenceData | Relates physical hosts to hardware reference data |
| HardwareReferenceData | Relates Host and HostContainer nodes to HardwareReferenceData nodes |
Stack Devices | |
| DeviceStack | Relates a stack member to the stack itself |
Storage | |
| SANStorage | Relates a host consumer of SAN storage to the reference to that host on the storage |
| Storage | Relates Storage to hosts using it |
| StorageContainment | Relates Storage to the Storage Collection containing it |
| StorageUse | Relates storage nodes |