Skip to main content

Classes and identifiers

Classes​

Every CI has a class: the kind of thing it is. Classes form a tree up to three levels deep, such as Data → Database → PostgreSQL. A data property on a class applies to the classes below it, so a PostgreSQL database has the properties of Data, of Database and of PostgreSQL.

The desk starts with a set you can change like any other:

ClassBelow itProperties
ComputeServer, Virtual machine, ContainerOperating system, CPU, memory, location
NetworkNetwork device, Load balancer, Domain name, CertificateVendor, model; expires (domain names and certificates), issuer (certificates)
DataDatabase, Storage, Cache or queueEngine, version, size, backup policy
SoftwareApplication, IntegrationVersion, repository, vendor
CloudCloud account, Cloud resourceProvider, region, account id

Under Service Configuration → Settings → CMDB → Classes (with Manage CI classes, ci.settings, for the whole organization):

  • Add class opens Design a class (below). The pencil opens it for a class that is there.
  • The arrows put classes in order among their siblings.
  • Archive keeps a class on the CIs that have it, but it can't be picked for others. Restore brings it back.
  • A class no CI has and with nothing below it can be deleted. It is taken off the data properties that also apply to other classes; a property that applies to that class alone has to be changed first.

Names are unique among siblings, whatever the case. A move that would make the tree deeper than three levels, or put a class below itself, is refused.

Design a class​

Design a class shows everything about one class on one page, with the form beside it as agents will see it when they add a CI of that class:

PartWhat
Name, Below, Description and IconWhere it sits in the tree, and what agents see when they pick it. A new class takes its parent's icon until you pick one.
From aboveThe data properties it gets from the classes above it, and those that apply to every class.
Its ownThe properties that apply to it already. Change or archive them under Platform → Data properties.
Add a propertyA new property for this class (and the classes below it): its name, type, choices for a dropdown and a help text. Every type but a person, which is added under Platform → Data properties. Its name in the API is made from the name, such as replication_role.
Use one that is thereA property that applies to other classes, such as Version, added to this one too.

Add class or Save saves the class first and then its properties. Adding properties needs the Data property settings permission as well (property.settings, which Platform Administrators have); without it the page shows the class's properties but adds none.

The properties themselves are also kept under Platform → Data properties, on the Configuration items table, with Applies to naming the classes. A property with no classes applies to every CI.

[!NOTE] Changing a CI's class keeps the values of properties that no longer apply. They are hidden, and shown again if the class changes back.

Identifiers​

Identifiers say how other tools know a CI, so imports and, later, monitoring events find the right record:

KindFor example
Host namedb-prod-01
Fully qualified namedb-prod-01.example.net
IP address10.0.4.12
Serial numberThe manufacturer's serial
Id in another toolThe tool's name (monitoring, a cloud) and its id for the CI there

Values are kept trimmed and in lower case, so a match doesn't depend on how it was typed. No two CIs of an organization share an identifier: adding one that another CI has is refused (“Another configuration item already has Host name: db-prod-01”).

Search finds a CI by its identifiers: in the list by part of a value, and with ⌘K by the whole value, such as 10.0.4.12.