CI Classes & Hierarchy
Class Hierarchy
StackFlow uses an object-oriented CI class hierarchy similar to SCCM and ServiceNow. Every CI belongs to a class that defines its mandatory and optional attributes. Classes are organized in a tree with Configuration Item at the root, allowing common attributes to be inherited down the tree.
- DynamoDB:
StackFlow_CIClasstable defining all CI class schemas and inheritance hierarchy - DynamoDB:
StackFlow_CItable with PKciIdand attributeciClassfor class-based queries - Neptune: Graph schema must include all CI vertex labels:
CI,Service,Application,Infrastructure
Configuration Item
├── Infrastructure
│ ├── Server
│ │ ├── Physical Server
│ │ └── Virtual Machine
│ ├── Network Device
│ │ ├── Router
│ │ ├── Switch
│ │ └── Firewall
│ └── Storage
├── Cloud Resource
│ ├── Compute (EC2, VM, GCE)
│ ├── Database (RDS, Aurora, SQL)
│ ├── Serverless (Lambda, Functions)
│ └── Network (VPC, Subnet, SG)
├── Application
│ ├── Business Application
│ └── Technical Service
└── Hardware
├── End User Device
└── Peripheral
Core CI Classes
| Class | Key Attributes | Typical Count |
|---|---|---|
| Server | hostname, IP, OS, CPU, RAM, disk | Hundreds–Thousands |
| Lambda Function | function_name, runtime, memory, timeout, VPC | Tens–Hundreds |
| RDS/Aurora Cluster | endpoint, engine, version, size, AZs | Ones–Tens |
| Application | name, owner, tier, dependencies | Tens–Hundreds |
| Network Device | IP, MAC, model, firmware, ports | Tens–Hundreds |
Custom CI Classes
Organizations can create custom CI classes to represent domain-specific configuration items not covered by built-in classes. Custom classes inherit from any existing class and can add custom attributes. Custom class definitions are stored in the CMDB schema registry and reflected in the UI's CI form and list views automatically.
Attributes by Class
All CI classes inherit the base attributes from Configuration Item: sys_id, name, ci_class, state, operational_status, owner, support_group, environment, tenant_id, created_at, updated_at.
Class Inheritance
Attribute inheritance works top-down. A Lambda Function CI inherits all attributes from Cloud Resource and Configuration Item, then adds its own specific attributes. This means reports and queries can be run against any level of the hierarchy — a query for all Cloud Resource CIs returns Lambda functions, RDS clusters, EC2 instances, and all other cloud resource subclasses.