Tech-
invite
3GPP
space
IETF
space
21
22
23
24
25
26
27
28
29
31
32
33
34
35
36
37
38
4‑5x
Content for
TR 32.866
Word version: 15.0.0
0…
2…
2
References
3
Definitions, and abbreviations
4
IRP design principles
5
Overview of existing Solution Sets (SS)
6
Alternative Solution Sets (SS)
7
Common principles and design patterns for a RESTful HTTP-based Solution Set (SS)
8
Recommendations
A
About TM Forum REST API specifications
B
Bibliography
$
Change History
2
References
p. 6
3
Definitions, and abbreviations
p. 7
3.1
Definitions
p. 7
3.2
Abbreviations
p. 7
4
IRP design principles
p. 8
5
Overview of existing Solution Sets (SS)
p. 8
6
Alternative Solution Sets (SS)
p. 8
6.1
RESTful HTTP-based Solution Set (SS)
p. 8
6.1.1
REST API specification in ETSI NFV SOL 17 [5]
p. 8
6.1.1.1
API patterns
p. 8
6.1.1.2
Example specifications
p. 8
6.1.2
RESTCONF Protocol in IETF RFC 8040 [20]
p. 9
6.1.3
Mobile Edge Service APIs in ETSI MEC 009 [7]
p. 9
7
Common principles and design patterns for a RESTful HTTP-based Solution Set (SS)
p. 9
7.1
Input material
p. 9
7.2
Short review of REST
p. 9
7.2.1
REST design principles
p. 9
7.2.2
Richardson Maturity Model
p. 10
7.2.3
REST and HTTP
p. 10
7.3
Short review of HTTP
p. 10
7.3.1
Message Format
p. 10
7.3.2
HTTP methods
p. 11
7.3.2.1
HTTP GET method
p. 11
7.3.2.2
HTTP HEAD method
p. 11
7.3.2.3
HTTP POST method
p. 11
7.3.2.4
HTTP PUT method
p. 11
7.3.2.5
HTTP DELETE method
p. 11
7.3.2.6
HTTP CONNECT method
p. 12
7.3.2.7
HTTP OPTIONS method
p. 12
7.3.2.8
HTTP TRACE method
p. 12
7.3.2.9
HTTP PATCH method
p. 12
7.3.3
HTTP resources
p. 12
7.3.4
Uniform Resource Identifiers (URIs)
p. 12
7.3.5
URI Templates
p. 13
7.4
Usage of HTTP
p. 13
7.4.1
URI structure
p. 13
7.4.2
Resource identification
p. 14
7.4.3
Metadata language for the message body
p. 15
7.4.3.1
Data transport language
p. 15
7.4.3.2
Specification language
p. 15
7.4.3.3
Support for Network Resource Models
p. 16
7.4.4
Usage of HTTP headers and media types
p. 16
7.5
Design Patterns
p. 17
7.5.1
Information model for examples
p. 17
7.5.2
Design pattern for READ operations (scope: one resource)
p. 18
7.5.3
Design pattern for READ operations (scope: multiple resource)
p. 18
7.5.4
Design pattern for UPDATE operations (complete update)
p. 20
7.5.5
Design pattern for UPDATE operations (partial update)
p. 20
7.5.6
Design pattern for CREATE operations (single resource)
p. 21
7.5.7
Design pattern for CREATE operations (multiple resources)
p. 22
7.5.8
Design pattern for DELETE operations (single resource)
p. 22
7.5.9
Design pattern for DELETE operations (multiple resources)
p. 23
7.5.10
Design pattern for SUBSCRIBE/NOTIFY operations
p. 23
7.5.11
Design pattern for TASK operations
p. 24
7.5.12
Design pattern for asynchronous operations
p. 25
7.5.13
Design pattern for scoping and filtering
p. 27
7.5.14
Design pattern for attribute selection
p. 28
7.5.15
Design pattern for links
p. 28
7.5.16
Design pattern for iterations
p. 31
7.5.16.1
Iteration methods
p. 31
7.5.16.2
Iteration using header
p. 31
7.5.16.3
Iteration using query parameters
p. 32
7.6
Example mapping of IRPs
p. 33
7.6.1
Mapping of Network Resource Model (NRM) IRPs to resources
p. 33
7.6.2
Basic CM IRP
p. 33
7.6.3
Alarm IRP
p. 34
7.6.3.1
Introduction
p. 34
7.6.3.2
Richardson Maturity Model Level 0 (The swamp of POX)
p. 34
7.6.3.3
Richardson Maturity Model Level 1 (Resources)
p. 35
7.6.3.4
Richardson Maturity Model Level 2
p. 36
7.7
Example mapping of solution set
p. 37
7.7.1
Example of defining types
p. 37
7.7.2
Example of defining managed objects
p. 37
7.8
REST SS template
p. 39
8
Recommendations
p. 39
A
About TM Forum REST API specifications
p. 40
A.1
REST API design guidelines
p. 40
A.1.0
Introduction
p. 40
A.1.1
General concepts
p. 40
A.1.2
Operations
p. 40
A.1.3
Media types
p. 40
A.2
Example TM Forum REST APIs
p. 41
B
Bibliography
p. 42
$
Change History
p. 43