SLO objective unique identifier
In addition to a Display name (displayName), every SLO objective you create in Nobl9 features a machine-readable Name (name) that serves as its unique identifier. While related, they serve different purposes and have different rules governing them.
The name is the primary, machine-readable identifier for an objective. Nobl9 requires the name to be unique across all objectives within a single SLO and can only contain lowercase alphanumeric characters or hyphens and must start and end with an alphanumeric character.
Conversely, the displayName is a user-friendly, human-readable label shown in the Nobl9 web application. It has fewer character restrictions and does not have to be unique.
You can define the objective name in two ways:
- Manual assignment: You explicitly specify the 
namefor each objective in the YAML definition when creating an SLO or using the Nobl9 web application. When anameis set manually, it becomes read-only after the SLO is saved. - Automatic generation:
If you omit the 
namefield (possible only in the Nobl9 web application), Nobl9 automatically generates it from thedisplayName, converting it into a compliant format. An auto-generated name can be modified one time using an SLOs-as-code tool. 
Hereβs a quick comparison of the two fields:
| Attribute | Name | Display name | 
|---|---|---|
| Purpose | Unique machine-readable identifier for API and sloctl | Human-readable label for the UI | 
| Uniqueness | Must be unique within the SLO | Not required | 
| Format | Alpha-numeric lowercase characters and dashes | Flexible, allows most characters | 
| Source | Can be set manually or auto-generated | Must be provided by the user | 
| Mutability | Read-only after being set (manual) or edited once (auto-generated) | Always editable |