Skip to main content

CI Relationship Type

Overview

Relationship types define the kinds of associations that can be established between configuration items, describing how one CI is connected to another.

Key Concepts:

  • CI Type: Defines "what it represents", such as Application, Computer, Database, etc.
  • Relationship Type: Defines "how it connects", such as Depends On, Runs On, Contains, etc.
  • Valid Link: Defines which CI types can establish which relationship types, configured in the "Relationships" tab of CI Type Management

Example:

  • The relationship type Runs On defines the semantic meaning of "a runs on b"
  • A valid link configures "the Database type can connect to the Computer type via the Runs On relationship"
  • An actual instance: Database "MySQL-01" --Runs On--> Computer "Server-01"

What this module can do for you:

  • View system predefined relationship types (e.g., Depends On, Runs On, Contains, etc.)
  • Create custom relationship types
  • Edit or delete custom relationship types
  • Import and export relationship type definitions

Interface Layout

The Relationship Type Management page uses a left-right split layout:

Relationship Type Management main interface

Left: Relationship Type List

The left side displays the list of relationship types:

  • Built-in Types: System predefined relationship types, such as Depends On, Runs On, Contains, etc.
  • Custom Types: User-created relationship types

Right: Type Details

The right side displays detailed information about the selected relationship type:

  • Name: Unique identifier of the relationship type
  • Display Name: Name displayed in the interface
  • Description: Description of the relationship type

How to Use

View Relationship Types

  1. Click any relationship type in the left list
  2. The right side displays detailed information about that relationship type
  3. The name cannot be modified; the display name and description can be edited

Search Relationship Types

Use the search box above the left list:

  1. Enter the relationship type name in the search box
  2. The list automatically filters to show only matching relationship types
  3. Clear the search box to restore the full list

Create a New Relationship Type

  1. Click the "Add Relationship Type" button in the top toolbar
  2. Fill in the relationship type information in the popup dialog:
    • Name: Unique identifier for the relationship type (must start with a letter, only letters, numbers, and underscores allowed)
    • Display Name: Display name for the relationship type
    • Description: Description of the relationship type's purpose (optional)
  3. Click "OK" to complete the creation

Edit a Relationship Type

  1. Select the relationship type you want to edit in the left list
  2. Modify the display name or description in the right detail panel
  3. After modification, click the "Save" button

Delete a Relationship Type

  1. Select the custom relationship type you want to delete in the left list
  2. Click the "Delete" button above the list
  3. Confirm the deletion

Note: Only custom relationship types can be deleted. If the relationship type is used by existing valid links, it cannot be deleted.

Export Relationship Types

  1. Select the relationship type(s) you want to export in the left list
  2. Click the "Export" button in the top toolbar
  3. The system automatically downloads a JSON file containing the relationship type definition(s)

Import Relationship Types

  1. Click the "Import" button in the top toolbar
  2. Select the JSON file to import in the popup dialog
  3. To overwrite existing relationship types, check "Overwrite existing relationship types"
  4. Click "Confirm Import" to complete the operation

Built-in Relationship Types

The system provides the following built-in relationship types:

NameDisplay NameDescription
r_depends_onDepends OnFunctional dependency relationship, used for fault impact analysis
r_runs_onRuns OnIndicates that software/application runs on a specific platform or system
r_containsContainsPhysical or logical containment relationship
r_member_ofMember OfCluster membership or organizational affiliation relationship
r_hostsHostsPhysical host or container platform hosting of upper-layer resources
r_connects_toConnects ToNetwork connection relationship
r_providesProvidesRelationship for providing services, resources, or supplies
r_consumesConsumesConsumption or usage relationship
r_located_inLocated InPhysical location relationship
r_ownsOwnsOwnership relationship
r_managesManagesManagement relationship

Strong Dependency Relationships

Certain relationship types have a "strong dependency" characteristic, defining mandatory attachment relationships between CIs. Some CIs (such as databases, disks) must be attached to other CIs to be created and cannot exist independently.

Purpose of the Attached CI Attribute:

  • Attached CI (attached_to) is a system attribute defined on the root CI type
  • It records the ID of the CI that the current CI is attached to
  • It is automatically set by the system when creating a strong dependency relationship and cannot be manually modified after creation

Supported Strong Dependency Relationship Types:

Relationship TypeAttachment DirectionDescription
Runs On (r_runs_on)ForwardThe source CI is attached to the target CI. For example: a database instance is attached to a computer or database cluster
Contains (r_contains)ReverseThe target CI is attached to the source CI. For example: a disk is attached to a computer

Usage Notes: Each CI type can define multiple strong dependency relationships in its "Relationships" configuration. For example, Database can define both Runs On Computer and Runs On Database Cluster, meaning that when creating a database instance, you must select an instance of one of these types as its attached CI.