|
TECHNICAL SPECIFICATION
LTE;
5G;
Management and orchestration;
Design rules for REpresentational State Transfer (REST)
Solution Sets (SS)
(3GPP TS 32.158 version 17.5.0 Release 17)
---------------------- Page: 1 ----------------------
3GPP TS 32.158 version 17.5.0 Release 17 1 ETSI TS 132 158 V17.5.0 (2023-07)
Reference
RTS/TSGS-0532158vh50
Keywords
5G,LTE
ETSI
650 Route des Lucioles
F-06921 Sophia Antipolis Cedex - FRANCE
Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16
Siret N° 348 623 562 00017 - APE 7112B
Association à but non lucratif enregistrée à la
Sous-Préfecture de Grasse (06) N° w061004871
Important notice
The present document can be downloaded from:
https://www.etsi.org/standards-search
The present document may be made available in electronic versions and/or in print. The content of any electronic and/or
print versions of the present document shall not be modified without the prior written authorization of ETSI. In case of any
existing or perceived difference in contents between such versions and/or in print, the prevailing version of an ETSI
deliverable is the one made publicly available in PDF format at www.etsi.org/deliver.
Users of the present document should be aware that the document may be subject to revision or change of status.
Information on the current status of this and other ETSI documents is available at
If you find errors in the present document, please send your comment to one of the following services:
If you find a security vulnerability in the present document, please report it through our
Coordinated Vulnerability Disclosure Program:
https://www.etsi.org/standards/coordinated-vulnerability-disclosure
Notice of disclaimer & limitation of liability
The information provided in the present deliverable is directed solely to professionals who have the appropriate degree of
experience to understand and interpret its content in accordance with generally accepted engineering or
other professional standard and applicable regulations.
No recommendation as to products and services or vendors is made or should be implied.
No representation or warranty is made that this deliverable is technically accurate or sufficient or conforms to any law
rule and/or regulation and further, no representation or warranty is made of merchantability or fitness
and/or governmental
for any particular purpose or against infringement of intellectual property rights.
In no event shall ETSI be held liable for loss of profits or any other incidental or consequential damages.
Any software contained in this deliverable is provided "AS IS" with no warranties, express or implied, including but not
limited to, the warranties of merchantability, fitness for a particular purpose and non-infringement of intellectual property
rights and ETSI shall not be held liable in any event for any damages whatsoever (including, without limitation, damages
for loss of profits, business interruption, loss of information, or any other pecuniary loss) arising out of or related to the use
of or inability to use the software.
Copyright Notification
No part may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying and
microfilm except as authorized by written permission of ETSI.
The content of the PDF version shall not be modified without the written authorization of ETSI.
The copyright and the foregoing restriction extend to reproduction in all media.
© ETSI 2023.
All rights reserved.
ETSI
---------------------- Page: 2 ----------------------
3GPP TS 32.158 version 17.5.0 Release 17 2 ETSI TS 132 158 V17.5.0 (2023-07)
Intellectual Property Rights
Essential patents
IPRs essential or potentially essential to normative deliverables may have been declared to ETSI. The declarations
pertaining to these essential IPRs, if any, are publicly available for ETSI members and non-members, and can be
found in ETSI SR 000 314: "Intellectual Property Rights (IPRs); Essential, or potentially Essential, IPRs notified to
ETSI in respect of ETSI standards", which is available from the ETSI Secretariat. Latest updates are available on the
ETSI Web server (https://ipr.etsi.org/).
Pursuant to the ETSI Directives including the ETSI IPR Policy, no investigation regarding the essentiality of IPRs,
including IPR searches, has been carried out by ETSI. No guarantee can be given as to the existence of other IPRs not
referenced in ETSI SR 000 314 (or the updates on the ETSI Web server) which are, or may be, or may become,
essential to the present document.
Trademarks
The present document may include trademarks and/or tradenames which are asserted and/or registered by their owners.
ETSI claims no ownership of these except for any which are indicated as being the property of ETSI, and conveys no
right to use or reproduce any trademark and/or tradename. Mention of those trademarks in the present document does
not constitute an endorsement by ETSI of products, services or organizations associated with those trademarks.
DECT™, PLUGTESTS™, UMTS™ and the ETSI logo are trademarks of ETSI registered for the benefit of its
Members. 3GPP™ and LTE™ are trademarks of ETSI registered for the benefit of its Members and of the 3GPP
Organizational Partners. oneM2M™ logo is a trademark of ETSI registered for the benefit of its Members and of the
®
oneM2M Partners. GSM and the GSM logo are trademarks registered and owned by the GSM Association.
Legal Notice
This Technical Specification (TS) has been produced by ETSI 3rd Generation Partnership Project (3GPP).
The present document may refer to technical specifications or reports using their 3GPP identities. These shall be
interpreted as being references to the corresponding ETSI deliverables.
The cross reference between 3GPP and ETSI identities can be found under https://webapp.etsi.org/key/queryform.asp.
Modal verbs terminology
In the present document "shall", "shall not", "should", "should not", "may", "need not", "will", "will not", "can" and
"cannot" are to be interpreted as described in clause 3.2 of the ETSI Drafting Rules (Verbal forms for the expression of
provisions).
"must" and "must not" are NOT allowed in ETSI deliverables except when used in direct citation.
ETSI
---------------------- Page: 3 ----------------------
3GPP TS 32.158 version 17.5.0 Release 17 3 ETSI TS 132 158 V17.5.0 (2023-07)
Contents
Intellectual Property Rights . 2
Legal Notice . 2
Modal verbs terminology . 2
Foreword . 5
1 Scope . 6
2 References . 6
3 Definitions and abbreviations . 7
3.1 Definitions . 7
3.2 Abbreviations . 7
4 General rules . 7
4.1 Information models and resources . 7
4.1.1 Information models . 7
4.1.2 Resources . 7
4.1.3 Resource archetypes . 8
4.1.4 Mapping of information models to resources . 8
4.1.5 Usage of information models . 8
4.2 Managed object naming and resource identification . 8
4.2.1 Managed object naming . 8
4.2.1.0 Distinguished Name (DN) . 8
4.2.1.1 Global and local namespaces . 9
4.2.2 Resource identification . 9
4.2.3 Mapping of DNs to URIs . 9
4.2.4 Canonical URI . 10
4.3 Message content formats . 10
4.3.1 Media types . 10
4.3.2 Response content format negotiation . 11
4.4 URI structure . 11
4.4.1 Introduction. 11
4.4.2 URI structure for resources representing managed object instances . 11
4.4.3 URI structure for resources not representing managed object instances . 13
4.4.4 Resource "./{MnSName}/{MnSVersion}" . 13
4.5 Response status codes . 13
5 Basic design patterns . 13
5.1 Design pattern for creating a resource . 13
5.1.1 Creating a resource with identifier creation by the MnS Producer . 13
5.1.2 Creating a resource with identifier creation by the MnS Consumer . 14
5.2 Design pattern for reading a resource . 15
5.3 Design pattern for updating a resource . 16
5.4 Design pattern for deleting a resource . 17
5.5 Design pattern for subscribe/notify . 17
5.5.1 Concept . 17
5.5.2 Subscription creation . 17
5.5.3 Subscription deletion . 18
5.5.4 Notification emission . 18
5.5.5 Subscription retrieval . 19
6 Advanced design patterns . 19
6.1 Design pattern for scoping and filtering . 19
6.1.1 Introduction. 19
6.1.2 Query parameters for scoping . 19
6.1.3 Query parameters for filtering . 20
6.1.4 Construction rules for the response message body . 20
6.2 Design patterns for attribute and attribute field selection . 21
ETSI
---------------------- Page: 4 ----------------------
3GPP TS 32.158 version 17.5.0 Release 17 4 ETSI TS 132 158 V17.5.0 (2023-07)
6.2.1 Introduction. 21
6.2.2 Query parameters for attribute and attribute field selection . 21
6.2.3 Construction rules for the response message body . 21
6.3 Design pattern for partially updating a resource . 22
6.3.1 Introduction. 22
6.3.2 JSON Merge Patch. 22
6.3.3 JSON Patch . 24
6.4 Design patterns for patching multiple resources . 27
6.4.1 Introduction. 27
6.4.2 3GPP JSON Merge Patch . 27
6.4.3 3GPP JSON Patch . 28
6.5 Large queries . 30
7 Resource representation formats . 31
7.1 Introduction . 31
7.2 Top-level object . 31
7.3 Data objects . 31
7.4 Data arrays. 31
7.5 Error objects . 32
7.6 Resource objects . 32
7.7 Resource objects carried in data objects and arrays . 33
8 REST SS specification template . 34
Annex A (informative): Examples . 38
A.1 Example data model . 38
A.2 Retrieval of resources . 43
A.2.1 Retrieval of a single complete resource with HTTP GET . 43
A.2.2 Attribute and attribute field selection on a single resource . 44
A.2.3 Retrieval of multiple complete resources using scoping and filtering . 45
A.3 Creation of resources . 55
A.3.1 Creation of a resource with HTTP PUT . 55
A.3.2 Creation of a resource with HTTP POST . 55
A.3.3 Creation of multiple resources with 3GPP JSON Merge Patch . 56
A.3.4 Creation of multiple resources with 3GPP JSON Patch . 58
A.4 Deletion of resources . 60
A.4.1 Deletion of a resource with HTTP DELETE . 60
A.4.2 Deletion of multiple resources with HTTP DELETE . 60
A.4.3 Deletion of multiple resources with 3GPP JSON Merge Patch . 61
A.4.4 Deletion of multiple resources with 3GPP JSON Patch . 61
A.5 Complete update of a resource . 62
A.6 Partial update of a resource . 62
A.6.1 Partial update of a resource with JSON Merge Patch . 62
A.6.2 Partial update of a resource with 3GPP JSON Merge Patch . 63
A.6.3 Partial update of a resource with JSON Patch . 63
A.6.4 Partial update of a resource with 3GPP JSON Patch . 66
A.7 Manipulating multiple resources . 67
A.7.1 Manipulating multiple resources with 3GPP JSON Merge Patch . 67
A.7.2 Manipulating multiple resources with 3GPP JSON PATCH . 68
Annex B (informative): Change history . 70
History . 73
ETSI
---------------------- Page: 5 ----------------------
3GPP TS 32.158 version 17.5.0 Release 17 5 ETSI TS 132 158 V17.5.0 (2023-07)
Foreword
This Technical Specification has been produced by the 3rd Generation Partnership Project (3GPP).
The contents of the present document are subject to continuing work within the TSG and may change following formal
TSG approval. Should the TSG modify the contents of the present document, it will be re-released by the TSG with an
identifying change of release date and an increase in version number as follows:
Version x.y.z
where:
x the first digit:
1 presented to TSG for information;
2 presented to TSG for approval;
3 or greater indicates TSG approved document under change control.
y the second digit is incremented for all changes of substance, i.e. technical enhancements, corrections,
updates, etc.
z the third digit is incremented when editorial only changes have been incorporated in the document.
ETSI
---------------------- Page: 6 ----------------------
3GPP TS 32.158 version 17.5.0 Release 17 6 ETSI TS 132 158 V17.5.0 (2023-07)
1 Scope
The present document defines design rules for REpresentational State Transfer (REST) Solution Sets (SS). These rules
are applied when specifying REST Solution Sets.
2 References
The following documents contain provisions which, through reference in this text, constitute provisions of the present
document.
- References are either specific (identified by date of publication, edition number, version number, etc.) or
non-specific.
- For a specific reference, subsequent revisions do not apply.
- For a non-specific reference, the latest version applies. In the case of a reference to a 3GPP document (including
a GSM document), a non-specific reference implicitly refers to the latest version of that document in the same
Release as the present document.
[1] 3GPP TR 21.905: "Vocabulary for 3GPP Specifications".
[2] IETF RFC 7231: "Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content".
[3] 3GPP TS 32.300: "Telecommunication management; Configuration Management (CM); Name
convention for Managed Objects".
[4] IETF RFC 3986: "Uniform Resource Identifier (URI): Generic Syntax".
[5] IETF RFC 7230: "Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing".
[6] IETF RFC 7159: " The JavaScript Object Notation (JSON) Data Interchange Format".
[7] draft-wright-json-schema-01 (October 2017): "JSON Schema: A Media Type for Describing JSON
Documents".
Editor's note: The above document cannot be formally referenced until it is published as an RFC.
[8] draft-wright-json-schema-validation-01 (October 2017: "JSON Schema Validation: A Vocabulary
for Structural Validation of JSON".
Editor's note: The above document cannot be formally referenced until it is published as an RFC.
[9] draft-wright-json-schema-hyperschema-01 (October 2017): "JSON Hyper-Schema: A Vocabulary
for Hypermedia Annotation of JSON.
Editor's note: The above document cannot be formally referenced until it is published as an RFC.
[10] OpenAPI Specification (https://github.com/OAI/OpenAPI-Specification)
[11] IETF RFC 5789: "PATCH Method for HTTP".
[12] IETF RFC 7396: "JSON Merge Patch".
[13] IETF RFC 6902: "JavaScript Object Notation (JSON) Patch".
[14] IETF RFC 6901: "JavaScript Object Notation (JSON) Pointer".
[15] XML Path Language (XPath) Version 1.0, W3C Recommendation 16 November 1999
(https://www.w3.org/TR/xpath-10/)
[16] 3GPP TR 32.160: "Management and orchestration; Management service template".
ETSI
---------------------- Page: 7 ----------------------
3GPP TS 32.158 version 17.5.0 Release 17 7 ETSI TS 132 158 V17.5.0 (2023-07)
3 Definitions and abbreviations
3.1 Definitions
For the purposes of the present document, the terms and definitions given in TR 21.905 [1] and the following apply. A
term defined in the present document takes precedence over the definition of the same term, if any, in TR 21.905 [1].
3.2 Abbreviations
For the purposes of the present document, the abbreviations given in TR 21.905 [1] and the following apply. An
abbreviation defined in the present document takes precedence over the definition of the same abbreviation, if any, in
TR 21.905 [1].
CRUD Create, Retrieve, Update, Delete
DC Domain Component
DN Distinguished Name
DNS Domain Name Service
FQDN Fully Qualified Doman Name
HTTP Hypertext Transfer Protocol
JSON JavaScript Object Notation
LDN Local Distinguished Name
MnS Management Service
REST REpresentational State Transfer
RPC Remote Procedure Call
TCP Transmission Control Protocol
URI Uniform Resource Identifier
4 General rules
4.1 Information models and resources
4.1.1 Information models
An information model is a representation of a system. Typical models do not reflect all facets of the system, but only
certain aspects required to solve the management problem the model is designed for. 3GPP follows an object-oriented
modelling approach. Models are built from managed object classes. Each object class contains information elements
called attributes. Relationships between classes represent the logical connections. Models are specified formally with
class diagrams produced using the Unified Modelling Language (UML).
The instantiation of a managed object class is called managed object instance, or concisely just managed object or
object. All managed object instances together with the relationships between them constitute an object tree. An object
tree is also called containment tree.
4.1.2 Resources
HTTP uses a different terminology based on the notion of resources, as defined in clause 2 of RFC 7231 [2]. Each
resource is represented by one or more resource representations as defined in clause 3 of RFC 7231 [2]. Valid resource
representations are e.g. XML instance documents or JSON instance documents.
Besides this primary resource, RFC 3986 [4], clause 3.5 introduces the concept of secondary resources. Secondary
resources are specific portions or subsets of primary resources, that are identifiable.
ETSI
---------------------- Page: 8 ----------------------
3GPP TS 32.158 version 17.5.0 Release 17 8 ETSI TS 132 158 V17.5.0 (2023-07)
4.1.3 Resource archetypes
Resources can be classified according to their structure and behaviour into resource archetypes. This helps specifying
clear and understandable interfaces. The following three archetypes are defined:
- Document resource: This is the standard resource containing data in form of name value pairs and links to
related resources. This kind of resource typically represents a real-world object or a logical concept.
- Collection resource: A collection resource is grouping resources of the same kind. The resources below the
collection resource are called items of the collection. An item of a collection is normally a document resource.
Collection resources typically contain links to the items of the collection and information about the collection
like the total number of items in the collection. Collection resources can be further distinguished into server-
managed and client-managed resources. Collection resources are also known as container resources.
- Operation resource: Operation resources represent executable functions. They may have input and output
parameters. Operation resources allow some sort of fall back to an RPC style design in case application specific
actions cannot be mapped easily to CRUD style operations.
4.1.4 Mapping of information models to resources
RESTful SS shall be specified in a way that man
...