Glossary term · Management

YAML

Yet Another Markup Language

Management →

YAML is a human-readable data serialization format used in 3GPP specifications for structured representation of configuration and management data to facilitate automation and interoperability.

Introduced
Rel-15
Specifications
5 specs
Category
Management
Introduced
Rel-15
Specifications
5 specs
YAML Description Purpose Related Detected Changes Specifications

Description

YAML (Yet Another Markup Language) is a data serialization format adopted in 3GPP specifications, starting from Release 15, for representing configuration, management, and policy data in a human-readable text format. It uses indentation and simple syntax to define hierarchical structures, making it easier for engineers to write and understand compared to formats like XML or JSON. In 3GPP, YAML is specified across multiple technical documents, including TS 26.517, TS 26.857, TS 28.536, TS 29.122, and TS 29.501, where it is used for scenarios such as network slice templates, service management, and API definitions.

Technically, YAML works by representing data as key-value pairs, lists, and nested mappings, which can be parsed by software tools to generate or interpret network configurations. For example, in 5G network slicing, YAML files can define slice characteristics like bandwidth, latency, and isolation levels, which are then used by management functions to instantiate slices. The format supports data types such as strings, numbers, booleans, and sequences, allowing complex structures to be modeled efficiently. It is often used in conjunction with YANG data models, where YAML serves as the serialization for YANG-defined schemas, enabling consistent data exchange between network elements and management systems.

In the 3GPP architecture, YAML is utilized in management and orchestration components, such as the Network Slice Selection Function (NSSF), Policy Control Function (PCF), and Network Exposure Function (NEF). These functions use YAML-formatted data to communicate policies, service requirements, and configuration details. For instance, TS 29.122 specifies YAML for Northbound APIs, allowing external applications to request network services. The format's readability reduces errors in manual editing and supports automation through tools like Ansible or Kubernetes, which natively understand YAML for deployment scripts.

YAML's role in 3GPP networks is to streamline management operations, especially in cloud-native environments where dynamic configuration is critical. It enables declarative configurations, where desired network states are specified in YAML files and automated systems enforce them. This is essential for 5G's scalability and agility, supporting use cases like network slicing, edge computing, and IoT. By standardizing on YAML, 3GPP ensures interoperability across vendors and reduces integration complexity, as it is widely supported in the software industry.

Purpose & Motivation

YAML was introduced in 3GPP Release 15 to address the growing complexity of network management in 5G systems, which require flexible, automated configurations for features like network slicing and service-based architecture. Prior to its adoption, management data was often represented in XML or proprietary formats, which could be verbose and difficult for humans to read, hindering rapid development and troubleshooting. YAML's human-readable design simplifies these processes, enabling engineers to quickly write and modify configurations without extensive tooling.

The creation of YAML in 3GPP was motivated by the need for a lightweight, interoperable format that supports automation and DevOps practices in telecommunications. As networks evolve towards software-defined and cloud-native paradigms, traditional management approaches became inadequate due to their rigidity and slow provisioning times. YAML solves these problems by providing a standard way to define policies and services that can be easily version-controlled, tested, and deployed using CI/CD pipelines. This addresses limitations of previous approaches that relied on manual CLI configurations or complex XML schemas, which were error-prone and less agile.

Historically, YAML originated in the software development community as a configuration language for applications, gaining popularity due to its simplicity. 3GPP recognized its potential for network management, aligning with industry trends towards infrastructure-as-code. By incorporating YAML, 3GPP enables seamless integration with cloud platforms and orchestration tools, supporting the dynamic nature of 5G services. It facilitates the management of network slices, QoS policies, and exposure functions, ultimately reducing operational costs and accelerating service deployment.

Detected Changes Across Releases

from 3GPP Change Requests

Specific changes extracted from the „Change history“ tables of 3GPP specifications (15 CRs across 5 releases). Complements the general historical overview above with the evidence-based evolution of this function.

Rel-15 4 changes
  • Presence conditions in yaml file TS 29.122CR0081
  • Correct NP configuration yaml definition TS 29.122CR0093
  • yaml file names TS 29.501CR0010
  • Copyright Note in YAML files TS 29.501CR0060
Rel-16 5 changes
  • Storage of YAML files TS 29.122CR0247
  • Storage of YAML files in 3GPP Forge TS 29.122CR0296
  • Storage of YAML files in ETSI Forge TS 29.501CR0072
  • Copyright Note in YAML file TS 29.122CR0179
  • Storage of YAML files in 3GPP Forge TS 29.501CR0093
Rel-17 3 changes
  • Fixing OpenAPI Discoverability issue in CoslaNrm.yaml stage 3 TS 28.536CR0046
  • OpenAPI file name and dependence change for coslaNrm.yaml TS 28.536CR0048
  • Minor correction on the format for cosla yaml file TS 28.536CR0052
Rel-18 1 change
  • TS28.536 Rel18 remove MnS root in stage 3-yaml and Moving normative stage 3 to Forge TS 28.536CR0076
Rel-19 2 changes
  • [AMD_PRO-MED] OpenAPI YAML updates for in-session repair TS 26.517CR0036
  • [5MBP3] OpenAPI YAML corrections TS 26.517CR0039

Explore further

Broader topics and technologies where YAML plays a role.

Defining Specifications

3GPP specifications that define or reference YAML, with the latest known release. Sourced from the 3GPP document catalog — see methodology.

SpecificationTitleRelease
TS 26.517 vj20 5G Multicast-Broadcast User Services Protocols Rel-19
TR 26.857 vi00 Technical Report on Media Service Enablers Rel-18
TS 28.536 vj20 Management services for communication service assurance Rel-19
TS 29.122 vk00 T8 Reference Point Protocol for SCEF and SCS/AS Rel-20
TS 29.501 vk00 5GC SBI API Design Principles Rel-20