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
name
for each objective in the YAML definition when creating an SLO or using the Nobl9 web application. When aname
is set manually, it becomes read-only after the SLO is saved. - Automatic generation:
If you omit the
name
field (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 |