Configuration Item Definitions#

In Znuny’s ITSM Configuration Management, defining a Configuration Item (CI) Class involves specifying various elements that determine the structure and behavior of the CI. These elements are defined using a YAML-based configuration. Here’s a breakdown of the possible definition elements:

Base Options#

Key#

  • Description: A unique identifier for the attribute within the CI class.

  • Example:

---
- Key: Vendor

Name#

  • Description: The display name of the attribute, shown in the user interface.

  • Example:

---
- Key: Vendor
  Name: Vendor Name

Searchable#

  • Description: Indicates whether the attribute is searchable.

  • Values: - 1: Searchable - 0: Not searchable

  • Example:

---
- Key: Vendor
  Name: Vendor Name
  Searchable: 1

Input#

  • Description: Defines the input properties for the attribute.

  • Sub-elements: - Type: Specifies the input type. - Type Options: Options specific to the chosen type.

  • Example:

---
- Key: Motivation
  Name: Purchase Motivation
  Searchable: 1
  Input:
    Type: Text
    Size: 50
    MaxLength: 100
    Required: 1

Count of Options#

  1. CountMin

  2. CountMax

  3. CountDefault

  • Description: Defines the number of instances for an attribute. Useful for attributes that can have multiple entries like hard drives or CPUs.

  • Example: Requires none, adds one by default, but allows up to 10.

---
- Key: Vendor
  Name: Vendor Name
  Searchable: 1
  Input:
    Type: Text
    Size: 50
    MaxLength: 100
    Required: 1
  CountMin: 0
  CountMax: 10
  CountDefault: 1

Sub#

  • Description: Allows nesting of sub-attributes under a main attribute.

  • Example:

---
- Key: NIC
  Name: Network Adapter
  Input:
    Type: Text
    Size: 50
    MaxLength: 100
    Required: 1
  CountMin: 0
  CountMax: 10
  CountDefault: 1
  Sub:
  - Key: IPoverDHCP
    Name: IP over DHCP
    Input:
      Type: GeneralCatalog
      Class: ITSM::ConfigItem::YesNo
      Translation: 1
      Required: 1
  - Key: IPAddress
    Name: IP Address
    Searchable: 1
    Input:
      Type: Text
      Size: 40
      MaxLength: 40
      Required: 1
    CountMin: 0
    CountMax: 20
    CountDefault: 0

Available Input Types#

CI#

  • Description: Search for and add a reference to other configuration items. Also creates a link of the defined type.

  • Example:

---
- Key: CIParent
  Name: CI-Parent
  Searchable: 1
  Input:
    Type: CI
    CIClassName: Location
    CIClassLinkType: ParentChild
    Required: 0

CI Type Options#

CIClassName

Defines the referenced CI class using the name

CIClassID

Defines the referenced CI class using the ID

CIClassLinkType

Determines the link type with which the two CIs are to be linked if a link type exists. Expected values are like Normal, ParentChild, RelevantTo, etc.

CI-Attachment#

  • Description: Add one or more attachments to a configuration item.

  • Example:

---
- Key: CIAttachment
  Name: Additional Attachment
  Searchable: 0
  Input:
    Type: CIAttachment
  CountMin: 0
  CountMax: 10

Customer#

  • Description: Add a customer user to the configuration item.

  • Example:

---
- Key: CustomerUser
  Name: Billing Contact
  Searchable: 1
  Input:
    Type: Customer

CustomerCompany#

  • Description: Add a customer company to the configuration item.

  • Example:

---
- Key: ContractingCompany
  Name: Contractor
  Searchable: 1
  Input:
    Type: CustomerCompany

Date#

  • Description: Add a date that can be selected.

  • Example:

---
- Key: DoB
  Name: Date of Birth
  Input:
    Type: Date

DateTime#

  • Description: Add a field to select a date and time.

  • Example:

---
- Key: DowntimePlanned
  Name: Next planned downtime
  Input:
    Type: DateTime

GeneralCatalog#

  • Description: A selection of a GeneralCatalog class. The options of the list are the GeneralCatalog class items, and the GeneralCatalog class must be defined first.

  • Example:

---
- Key: Roomtype
  Name: Roomtype
  Input:
    Type: GeneralCatalog
    Class: ITSM::ConfigItem::Roomtypes
    Required: 1

Integer#

  • Description: A list of integer numbers to select from.

  • Example:

---
- Key: Beds
  Name: Beds
  Input:
    Type: Integer
    ValueMin: 1
    ValueMax: 6
    ValueDefault: 2
    Required: 1

Dummy#

  • Description: Adds a structural element that does not hold any data.

  • Example:

---
- Key: SectionOneLabel
  Name: Section One
  Input:
    Type: Dummy

Priority#

  • Description: Add a priority to the configuration item. Uses the configured ticket priorities.

  • Example:

---
- Key: Ticketpriority
  Name: Priority (optional)
  Searchable: 1
  Input:
    Type: Priority
    Required: 0

Queue#

  • Description: Add a queue to the configuration item. Uses the configured ticket queues.

  • Example:

---
- Key: Queue
  Name: CI-Queue
  Searchable: 1
  Input:
    Type: Queue
    Required: 0

Service#

  • Description: Add a service to the configuration item. Uses the configured services.

  • Example:

---
- Key: Service
  Name: Service (optional)
  Searchable: 1
  Input:
    Type: Service

SLA#

  • Description: Add an SLA to the configuration item. Uses the configured SLAs.

  • Example:

---
- Key: SLA
  Name: Service Level Agreement
  Searchable: 1
  Input:
    Type: SLA
    Required: 0

State#

  • Description: Add a state to the configuration item. Uses the configured ticket states.

  • Example:

---
- Key: State
  Name: TicketState
  Searchable: 1
  Input:
    Type: State
    Required: 0

Text#

  • Description: A text field.

  • Example:

---
- Key: Firstname
  Name: Firstname
  Searchable: 1
  Input:
    Type: Text

TextArea#

  • Description: A textarea field.

  • Example:

---
- Key: Address
  Name: Delivery Address
  Searchable: 0
  Input:
    Type: TextArea

Type#

  • Description: Add a type to the configuration item. Uses the existing, valid ticket types.

  • Example:

---
- Key: Type
  Name: Type
  Searchable: 1
  Input:
    Type: Type

User#

  • Description: Adds a list of the system’s agents to the configuration item, to select from.

  • Example:

---
- Key: Owner
  Name: Owner
  Searchable: 1
  Input:
    Type: User
    Required: 0