12.1 Generic provisioning management service
28.5323GPPGeneric management servicesManagement and orchestrationRelease 17TS
12.1.1 RESTful HTTP-based solution set
12.1.1.1 Mapping of operations
12.1.1.1.1 Introduction
The IS operations are mapped to SS equivalents according to table 12.1.1.1.1-1.
Table 12.1.1.1.1-1: Mapping of IS operations to SS equivalents
IS operation |
HTTP Method |
Resource URI |
S |
createMOI |
PUT |
{MnSRoot}/ProvMnS/{MnSVersion}/{URI-LDN-first-part}/{className}={id} |
M |
getMOIAttributes |
GET |
{MnSRoot}/ProvMnS/{MnSVersion}/{URI-LDN-first-part}/{className}={id} |
M |
modifyMOIAttributes |
PUT PATCH |
{MnSRoot}/ProvMnS/{MnSVersion}/{URI-LDN-first-part}/{className}={id} |
M |
deleteMOI |
DELETE |
{MnSRoot}/ProvMnS/{MnSVersion}/{URI-LDN-first-part}/{className}={id} |
M |
12.1.1.1.2 Operation createMOI
This operation creates a single resource representing a managed object instance.
Table 12.1.1.1.2-1: Mapping of IS operation input parameters to SS equivalents (HTTP PUT)
IS parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
managedObjectClass managedObjectInstance |
path |
…/{className}={id} |
className: string id: string |
M |
attributeListIn |
request body |
n/a |
Resource |
M |
Note 1: Void.
Table 12.1.1.1.2-2: Mapping of IS operation output parameters to SS equivalents (HTTP PUT)
IS parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
attributeListOut |
response body |
n/a |
Resource |
M |
status |
response status codes |
n/a |
n/a |
M |
response body |
error |
ErrorResponse |
O |
Further details on creating a resource with HTTP PUT are provided in TS 32.158 [15], clause 5.1.2.
12.1.1.1.3 Operation getMOIAttributes
This operation retrieves one or multiple resources representing managed object instances.
Table 12.1.1.1.3-1: Mapping of IS operation input parameters to SS equivalents (HTTP GET)
IS parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
baseObjectInstance |
path |
/{className}={id} |
className: string id: string |
M |
scope |
query |
scope |
Scope style: form explode: true |
O |
filter |
query |
filter |
Filter |
O |
attributeListIn |
query |
attributes |
array(string) style: form explode: false |
O |
fields |
array(string) style: form explode: false |
O |
Note 1: Void.
Note 2: Void.
Table 12.1.1.1.3-2: Mapping of IS operation output parameters to SS equivalents (HTTP GET)
IS parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
attributeListOut |
response body |
n/a |
Resource or array(Resource) |
M |
status |
response status codes |
n/a |
n/a |
M |
response body |
error |
ErrorResponse |
O |
Further details on reading resources with HTTP GET are provided in TS 32.158 [15], clause 5.2.
Further details on the SS parameters "scope" and "filter" are provided in TS 32.158 [15], clause 6.1.
Further details on the SS parameters "attributes" and "fields" are provided in TS 32.158 [15], clause 6.2.
12.1.1.1.4 Operation modifyMOIAttributes
12.1.1.1.4.1 Mapping to HTTP PUT
HTTP PUT is used for a full update of a single resource.
Table 12.1.1.1.4.1-1: Mapping of IS operation input parameters to SS equivalents (HTTP PUT)
IS parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
baseObjectInstance |
path |
/{className}={id} |
className: string id: string |
M |
scope |
n/a |
n/a |
n/a |
n/a |
filter |
n/a |
n/a |
n/a |
n/a |
modificationList |
request body |
n/a |
Resource |
M |
The IS parameters "scope" and "filter" have no meaning when targeting a single resource with the target URI and are not mapped.
Table 12.1.1.1.4.1-2: Mapping of IS operation output parameters to SS equivalents (HTTP PUT)
IS parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
attributeListOut |
response body |
n/a |
Resource |
O |
status |
response status codes |
n/a |
n/a |
M |
response body |
error |
ErrorResponse |
O |
Further details on updating a resource with HTTP PUT are provided in TS 32.158 [15], clause 5.3.12.1.1.1.4.2 Mapping to HTTP PATCH
HTTP PATCH is used to create, update or delete one or multiple resources.
Table 12.1.1.1.4.2-1: Mapping of IS operation input parameters to SS equivalents (HTTP PATCH)
IS parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
baseObjectInstance |
path |
…/{className}={id} |
className: string id: string |
M |
scope |
n/a |
n/a |
n/a |
n/a |
filter |
n/a |
n/a |
n/a |
n/a |
modificationList |
request body |
n/a |
Resource, or array(PatchItem) |
M |
Four patch media types are available for the request message body. They are listed below together with their request body data types:
– "application/merge-patch+json" (RFC 7396 [37]), request body type: Resource
– "application/3gpp-merge-patch+json" (TS 32.158 [15]), request body type: Resource
– "application/json-patch+json" (RFC 6902 [36]), request body type: array(PatchItem)
– "application/3gpp-json-patch+json" (TS 32.158 [15]), request body type: array(PatchItem)
If the MnS producer cannot honor a patch request for some reason, such as malformed requests or unsupported patch operations, an error response with an appropriate error response code such as "400 Bad Request" shall be returned.
The patch operations "copy" and "move" have no corresponding definition in stage 2. Support for these operations is optional.
The IS parameters "scope" and "filter" have no SS equivalents in the present document.
Table 12.1.1.1.4.2-2: Mapping of IS operation output parameters to SS equivalents (HTTP PATCH)
IS parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
attributeListOut |
response body |
n/a |
Resource |
M |
status |
response status codes |
n/a |
n/a |
M |
response body |
error |
ErrorResponse |
O |
Further details on updating resources with HTTP PATCH and JSON Merge Patch are provided in TS 32.158 [15], clause 6.3.2.
Further details on updating resources with HTTP PATCH and 3GPP JSON Merge Patch are provided in TS 32.158 [15], clause 6.4.2.
Further details on updating resources with HTTP PATCH and JSON Patch are provided in TS 32.158 [15], clause 6.3.3.
Further details on updating resources with HTTP PATCH and 3GPP JSON Patch are provided in TS 32.158 [15], clause 6.4.3.
Note 1: Void.
12.1.1.1.5 Operation deleteMOI
This operation deletes a single resource representing a managed object instance
Table 12.1.1.1.5-1: Mapping of IS operation input parameters to SS equivalents (HTTP DELETE)
IS parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
baseObjectInstance |
path |
/{className}={id} |
className: string id: string |
M |
scope |
n/a |
n/a |
n/a |
n/a |
filter |
n/a |
n/a |
n/a |
n/a |
Note 1: Void.
Note 2: Void.
Table 12.1.1.1.5-2: Mapping of IS operation output parameters to SS equivalents (HTTP DELETE)
IS parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
deletionlist |
n/a |
n/a |
n/a |
n/a |
status |
response status codes |
n/a |
n/a |
M |
response body |
error |
ErrorResponse |
O |
Further details on deleting a resource with HTTP DELETE are provided in TS 32.158 [15], clause 5.4.
12.1.1.1.6 Void
12.1.1.1.7 Void
12.1.1.2 Mapping of notifications
12.1.1.2.1 Introduction
The IS notifications are mapped to SS equivalents according to table 12.1.1.2.1-1.
Table 12.1.1.2.1-1: Mapping of IS notifications to SS equivalents
IS notification |
HTTP Method |
Resource URI |
S |
notifyMOICreation |
POST |
{notificationTarget} |
M |
notifyMOIDeletion |
POST |
{notificationTarget} |
M |
notifyMOIAttributeValueChanges |
POST |
{notificationTarget} |
M |
notifyMOIChanges |
POST |
{notificationTarget} |
M |
12.1.1.2.2 Notification notifyMOICreation
The IS notification parameters are mapped to SS equivalents according to table 12.1.1.2.2-1.
Table 12.1.1.2.2-1: Mapping of IS notification input parameters to SS equivalents (HTTP POST)
IS parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
objectClass |
request body |
href |
Uri |
M |
objectInstance |
||||
notificationId |
request body |
notificationId |
NotificationId |
M |
notificationType |
request body |
notificationType |
NotificationType |
M |
eventTime |
request body |
eventTime |
DateTime |
M |
systemDN |
request body |
systemDN |
SystemDN |
M |
correlatedNotifications |
request body |
correlatedNotifications |
array(CorrelatedNotification) |
O |
additionalText |
request body |
additionalText |
AdditionalText |
O |
sourceIndicator |
request body |
sourceIndicator |
SourceIndicator |
O |
attributeList |
request body |
attributeList |
AttributeNameValuePairSet |
O |
12.1.1.2.3 Notification notifyMOIDeletion
The IS notification parameters are mapped to SS equivalents according to table 12.1.1.2.3-1.
Table 12.1.1.2.3-1: Mapping of IS notification input parameters to SS equivalents (HTTP POST)
IS parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
objectClass |
request body |
href |
Uri |
M |
objectInstance |
||||
notificationId |
request body |
notificationId |
NotificationId |
M |
notificationType |
request body |
notificationType |
NotificationType |
M |
eventTime |
request body |
eventTime |
DateTime |
M |
systemDN |
request body |
systemDN |
SystemDN |
M |
correlatedNotifications |
request body |
correlatedNotifications |
array(CorrelatedNotification) |
O |
additionalText |
request body |
additionalText |
AdditionalText |
O |
sourceIndicator |
request body |
sourceIndicator |
SourceIndicator |
O |
attributeList |
request body |
attributeList |
AttributeNameValuePairSet |
O |
12.1.1.2.4 Notification notifyMOIAttributeValueChanges
The IS notification parameters are mapped to SS equivalents according to table 12.1.1.2.4-1.
Table 12.1.1.2.4-1: Mapping of IS notification input parameters to SS equivalents (HTTP POST)
IS parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
objectClass |
request body |
href |
Uri |
M |
objectInstance |
||||
notificationId |
request body |
notificationId |
NotificationId |
M |
notificationType |
request body |
notificationType |
NotificationType |
M |
eventTime |
request body |
eventTime |
DateTime |
M |
systemDN |
request body |
systemDN |
SystemDN |
M |
correlatedNotifications |
request body |
correlatedNotifications |
array(CorrelatedNotification) |
O |
additionalText |
request body |
additionalText |
AdditionalText |
O |
sourceIndicator |
request body |
sourceIndicator |
SourceIndicator |
O |
attributeListValueChanges |
request body |
attributeListValueChange |
AttributeValueChangeSet |
M |
12.1.1.2.5 Notification notifyMOIChanges
The IS notification parameters are mapped to SS equivalents according to table 12.1.1.2.5-1.
Table 12.1.1.2.5-1: Mapping of IS notification input parameters to SS equivalents (HTTP POST)
IS parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
objectClass |
request body |
href |
Uri |
M |
objectInstance |
||||
notificationId |
request body |
notificationId |
NotificationId |
M |
notificationType |
request body |
notificationType |
NotificationType |
M |
eventTime |
request body |
eventTime |
DateTime |
M |
systemDN |
request body |
systemDN |
SystemDN |
M |
moiChanges |
request body |
mOIChanges |
array(MoiChange) |
M |
12.1.1.3 Resources
12.1.1.3.1 Resource structure
12.1.1.3.1.1 Resource structure on the MnS producer
Figure 12.1.1.3.1.1-1 shows the resource structure of the Provisioning MnS on the MnS producer.
Figure 12.1.1.3.1.1-1: Resource URI structure of the Provisioning MnS on the MnS producer
Table 12.1.1.3.1.1-1 provides an overview of the resources and applicable HTTP methods.
Table 12.1.1.3.1-1: Resources and methods overview
Resource name |
Resource URI |
HTTP method |
Description |
MOI |
…/{className}={id} |
PUT |
Create a resource representing a managed object instance |
MOI |
…/{className}={id} |
GET |
Retrieve one or multiple resources representing managed object instances |
MOI |
…/{className}={id} |
PATCH |
Modifiy one or multiple resources representing managed object instances |
MOI |
…/{className}={id} |
DELETE |
Delete one or multiple resources representing managed object instances |
12.1.1.3.1.2 Resource structure on the MnS consumer
Figure 12.1.1.3.1.2-1 shows the resource structure of the Provisioning MnS on the MnS consumer.
Figure 12.1.1.3.1.2-1: Resource URI structure of the Provisioning MnS on the MnS consumer
Table 12.1.1.3.1.2-1 provides an overview of the resources and applicable HTTP methods.
Table 12.1.1.3.1.2-1: Resources and methods overview
Resource name |
Resource URI |
HTTP method |
Description |
Notification Target |
{notificationTarget} |
POST |
Send a notification to the notification target |
12.1.1.3.2 Resource definitions
12.1.1.3.2.1 Resource "…/{className}={id}"
12.1.1.3.2.1.1 Description
This resource represents a managed object instance.
12.1.1.3.2.1.2 URI
Resource URI: {MnSRoot}/ProvMnS/{MnSVersion}/{URI-LDN-first-part}/{className}={id}
The resource URI variables are defined in table 12.1.1.3.2.1.2-1.
Table 12.1.1.3.2.1.2-1: URI variables
Name |
Definition |
MnSRoot |
See clause 4.4.2 of TS 32.158 [15] |
MnSVersion |
See clause 4.4.2 of TS 32.158 [15] |
URI-LDN-first-part |
See clause 4.4.2 of TS 32.158 [15] |
className |
Class name of the targeted resource |
id |
Identifier of the targeted resource |
12.1.1.3.2.1.3 HTTP methods
12.1.1.3.2.1.3.1 HTTP PUT
This method shall support the URI query parameters specified in the following table.
Table 12.1.1.3.2.1.3.1-1: URI query parameters supported by the PUT method on this resource
Name |
Data type |
Description |
S |
n/a |
n/a |
n/a |
n/a |
This method shall support the request data structures, the response data structures and response codes specified in the following table.
Table 12.1.1.3.2.1.3.1-2: Data structures supported by the PUT request body on this resource
Data type |
Description |
S |
Resource |
Resource representation of the resource to be created or replaced |
M |
Table 12.1.1.3.2.1.3.1-3: Data structures supported by the PUT Response Body on this resource
Data type |
Response codes |
Description |
S |
Resource |
200 OK |
Status code returned when the resource is replaced, and when the replaced resource representation is not identical to the resource representation in the request. This status code may be retourned when the resource is updated and when the updated resource representation is identical to the resource representation in the request. The representation of the updated resource is returned in the response message body. |
M |
Resource |
201 Created |
Status code returned when the resource is created. The representation of the created resource is returned in the response message body. |
M |
n/a |
204 No Content |
Status code that may be returned only when the replaced resource representation is identical to the representation in the request. The response has no message body. |
M |
ErrorResponse |
4xx/5xx |
Returned in case of an error |
O |
12.1.1.3.2.1.3.2 HTTP GET
This method shall support the URI query parameters specified in the following table.
Table 12.1.1.3.2.1.3.2-1: URI query parameters supported by the GET method on this resource
Name |
Data type |
Description |
S |
scope |
Scope style: form explode: true |
Extends the set of targeted resources beyond the base resource identified with the authority and path component of the URI. |
O |
filter |
Filter |
Reduces the targeted set of resources by applying a filter to the scoped set of resource representations. Only resources representations for which the filter construct evaluates to "true" are targeted. |
O |
attributes |
array(string) style: form explode: false |
Attributes of the scoped resources to be returned. The value is a comma-separated list of attribute names. |
O |
fields |
array(string) style: form explode: false |
Attribute fields of the scoped resources to be returned. The value is a comma-separated list of JSON pointers to the attribute fields. |
O |
This method shall support the request data structures, the response data structures and response codes specified in the following tables.
Table 12.1.1.3.2.1.3.2-2: Data structures supported by the GET request body on this resource
Data type |
Description |
S |
n/a |
n/a |
n/a |
Table 12.1.1.3.2.1.3.2-3: Data structures supported by the GET response body on this resource
Data type |
Response codes |
Description |
S |
Resource |
200 OK |
Resources identified in the request for retrieval. In case the attributes or fields query parameters are used, only the selected attributes or sub-attributes are returned. The response message body is constructed according to the hierarchical response construction method (TS 32.158 [15]) |
M |
ErrorResponse |
4xx/5xx |
Returned in case of an error |
M |
12.1.1.3.2.1.3.3 HTTP PATCH
This method shall support the URI query parameters specified in the following table.
Table 12.1.1.3.2.1.3.3-1: URI query parameters supported by the PATCH method on this resource
Name |
Data type |
Description |
S |
n/a |
n/a |
n/a |
n/a |
This method shall support the request data structures, the response data structures and response codes specified in the following tables.
Table 12.1.1.3.2.1.3.3-2: Data structures supported by the PATCH request body on this resource
Data type |
Description |
S |
Resource, or array(object) |
Patch document describing the set of modifications to be applied to the targeted resources. The following patch media types are available: – "application/merge-patch+json" (RFC 7396 [37]) – "application/3gpp-merge-patch+json" (TS 32.158 [15]) – "application/json-patch+json" (RFC 6902 [36]) – "application/3gpp-json-patch+json" (TS 32.158 [15]) |
M |
Table 12.1.1.2.1.1.3.3-3: Data structures supported by the PATCH response body on this resource
Data type |
Response codes |
Description |
S |
ErrorResponse |
4xx/5xx |
Returned in case of an error |
M |
12.1.1.3.2.1.3.4 HTTP DELETE
This method shall support the URI query parameters specified in the following table.
Table 12.1.1.3.2.1.3.4-1: URI query parameters supported by the DELETE method on this resource
Name |
Data type |
Description |
S |
scope |
Scope style: form explode: true |
Extends the set of targeted resources beyond the base resource identified with the authority and path component of the URI. |
O |
filter |
Filter |
Reduces the targeted set of resources by applying a filter to the scoped set of resource representations. Only resources representations for which the filter construct evaluates to "true" are targeted. |
O |
This method shall support the request data structures, the response data structures and response codes specified in the following tables.
Table 12.1.1.3.2.1.3.4-2: Data structures supported by the DELETE request body on this resource
Data type |
Description |
S |
n/a |
n/a |
n/a |
Table 12.1.1.3.2.1.3.4-3: Data structures supported by the DELETE response body on this resource
Data type |
Response codes |
Description |
S |
array(Uri) |
200 OK |
Status code returned, when query parameters are present in the request and one or multiple resources are deleted. The URIs of the deleted resources are returned in the response message body. |
M |
n/a |
204 No Content |
Status code returned, when no query parameters are present in the request and only one resource is deleted. The message body is empty. |
M |
ErrorResponse |
4xx/5xx |
Returned in case of an error |
M |
12.1.1.3.2.2 Void
12.1.1.3.2.3 Void
12.1.1.3.2.4 Resource "{notificationTarget}"
12.1.1.3.2.4.1 Description
This resource represents a notification target on the MnS consumer.
12.1.1.3.2.4.2 URI
Resource URI: {notificationTarget}
The resource URI variables are defined in table 12.1.1.3.2.4.2-1.
Table 12.1.1.3.2.4.2-1: URI variables
Name |
Definition |
notificationTarget |
URI of the notification target on the MnS consumer, contained in the notification subscription |
12.1.1.3.2.4.3 HTTP methods
12.1.1.3.2.4.3.1 POST
This method shall support the URI query parameters specified in table 12.1.1.3.2.4.3.1-1.
Table 12.1.1.3.2.4.3.1-1: URI query parameters supported by the POST method on this resource
Name |
Data type |
Description |
S |
n/a |
n/a |
n/a |
n/a |
This method shall support the request data structures specified in table 12.1.1.3.2.4.3.1-2 and the response data structures and response codes specified in table 12.1.1.3.2.4.3.1-3.
Table 12.1.1.3.2.4.3.1-2: Data structures supported by the POST Request Body on this resource
Data type |
Description |
S |
NotifyMOICreation |
Type for a notifyMOICreation notification |
M |
NotifyMOIDeletion |
Type for a notifyMOIDeletion notification |
M |
NotifyAttributeValueChanges |
Type for a notifyAttributeValueChanges notification |
M |
NotifyMoiChanges |
Type for a notifyMOIChanges notification |
M |
Table 12.1.1.3.2.4.3.1-3: Data structures supported by the POST Response Body on this resource
Data type |
Response codes |
Description |
S |
n/a |
204 No Content |
In case of success no message body is returned |
M |
ErrorResponse |
4xx/5xx |
In case of failure the error object is returned. |
M |
12.1.1.4 Data type definitions
12.1.1.4.1 General
This clause defines the data types used by the Provisioning MnS. Table 12.1.1.4.1-1 specifies the data types defined in the present document and Table table 12.1.1.4.1-2 the data types imported.
Table 12.1.1.4.1-1: Data types defined in this specification
Data type |
Reference |
Description |
CmNotificationTypes |
12.1.1.4.4.3 |
Notification type (notifyMOICreation, etc.) |
SourceIndicator |
12.1.1.4.4.4 |
Indicates the source of the operation that led to the generation of the notification. |
ScopeType |
12.1.1.4.4.5 |
Scope type of a scope |
Operation |
12.1.1.4.4.6 |
Enum with "create", "delete" and "replace" |
Insert |
12.1.1.4.4.8 |
Enum with "before" and "after" |
PatchOperation |
12.1.1.4.4.7 |
Enum with "add", "replace", "remove", "copy", "move" and "test" |
Resource |
12.1.1.4.1a.1 |
Used for resource representations |
Scope |
12.1.1.4.1a.2 |
Used in the query part of HTTP GET and HTTP DELETE to extend the set of targeted resources beyond the base resource identified with the authority and path component of the URI |
CorrelatedNotification |
12.1.1.4.1a.3 |
Describes the correlated notifications of a single source |
MoiChange |
12.1.1.4.1a.4 |
Single MOI change reported by notifyMOIChanges |
NotifyMOICreation |
12.1.1.4.1a.5 |
Used in the request body of HTTP POST for the notification type notifyMOICreation |
NotifyMOIDeletion |
12.1.1.4.1a.6 |
Used in the request body of HTTP POST for the notification type notifyMOIDeletion |
NotifyMOIAttributeValueChanges |
12.1.1.4.1a.7 |
Used in the request body of HTTP POST for the notification type notifyMOIAttributeValueChanges |
NotifyMOIChanges |
12.1.1.4.1a.8 |
Used in the request body of HTTP POST for the notification type notifyMOIChanges |
PatchItem |
12.1.1.4.1a.9 |
Specifies a patch item of a patch document |
Table 12.1.1.4.1-2: Data types imported
Data type |
Reference |
Description |
DateTime |
TS 28.623 [44] |
Date and time |
Dn |
TS 28.623 [44] |
DN type |
SystemDN |
TS 28.623 [44] |
systemDN type |
Uri |
TS 28.623 [44] |
URI type |
AttributeNameValuePairSet |
TS 28.623 [44] |
Set of attribute name/value pairs |
AttributeValueChangeSet |
TS 28.623 [44] |
Set of attribute names with their old and new values |
Filter |
TS 28.623 [44] |
Filter type |
NotificationId |
TS 28.623 [44] |
Notification identifier as defined in ITU-T Rec. X. 733 [4] |
NotificationType |
TS 28.623 [44] |
Notification type |
NotificationHeader |
TS 28.623 [44] |
Notification header |
ErrorResponse |
TS 28.623 [44] |
Used in the response body of multiple HTTP methods in case of error |
12.1.1.4.1a Structured data types
12.1.1.4.1a.1 Type Resource
Table 12.1.1.4.1a.1 -1: Definition of type Resource
Attribute name |
Data type |
Description |
S |
id |
string |
Identifier of the resource object |
M |
objectClass |
string |
Object class of the resource object |
O |
objectInstance |
Dn |
Object instance of the resource object |
O |
attributes |
object |
"attributes" (JSON) object whose members are the IOC attributes (except for "id”, "objectClass” and "objectInstance"). |
M |
n/a |
map(array(object)) |
Name contained objects |
M |
This definition of "Resource" does not specify any attributes or name contained objects. Resource representations with specific attributes and name contained objects are contained in the NRM definitions. These definitions should be used in implementations of the Provisioning MnS instead of this generic definition.
12.1.1.4.1a.2 Type Scope
Table 12.1.1.4.1a.2-1: Definition of type Scope
Attribute name |
Data type |
Description |
S |
scopeType |
ScopeType |
Used in the query component of HTTP GET and HTTP DELETE together with scopeLevel to extend the set of targeted resources beyond the base resource identified with the authority and path component of the URI |
M |
scopeLevel |
integer |
Used in the query component of HTTP GET and HTTP DELETE together with scopeType to extend the set of targeted resources beyond the base resource identified with the path component of the URI |
M |
12.1.1.4.1a.3 Type CorrelatedNotification
Table 12.1.1.4.1a.3 -1: Definition of type CorrelatedNotification
Attribute name |
Data type |
Description |
S |
source |
Dn |
Source of the correlated notifications |
M |
notificationIds |
array(NotificationId) |
Notification identifiers of correlated notifications of that source |
M |
12.1.1.4.1a.4 Type MoiChange
Table 12.1.1.4.1a.4 -1: Definition of type MoiChange
Attribute name |
Data type |
Description |
S |
notificationId |
NotificationId |
Notification identifier as defined in ITU-T Rec. X. 733 [4] |
M |
correlatedNotifications |
array(CorrelatedNotification) |
Set of all notifications to which this notification is considered to be correlated as defined in ITU-T Rec. X. 733 [4] |
O |
additionalText |
string |
Allows a free form text description to be reported as defined in ITU-T Rec. X. 733 [4] |
O |
sourceIndicator |
SourceIndicator |
Indicates the source of the operation that led to the generation of this notification. |
O |
op |
Operation |
Operation associated to the reported change ("add", "remove , "replace"). |
M |
path |
string |
URI path component segments specifying when appended to "href" the created, deleted or updated resource or secondary resource |
M |
insert |
Insert |
Indicates whether the new attribute element was added before or after the attribute element specified by "path", only valid for attributes with the property isOrdered=True. It can take the values "before" and "after". If missing, it defaults to "before". The "insert" attribute shall be supported only when changes from YANG defined NRMs are reported. For JSON defined NRMs the attribute shall not be supported. |
CM |
value |
any type |
New value of the created or updated resource or secondary resource. Optional old value of the deleted resource or secondary resource |
M |
oldValue |
any type |
Old value of the updated secondary resource |
O |
The properties "op", "path" and "value" shall use the 3GPP JSON Patch format (3GPP TS 32.158 [15]) for reporting NRM changes. The "merge" operation specified by 3GPP JSON Patch is not supported in "notifyMOIChanges". The "move", "copy" and "test" operations specified by JSON Patch are not supported either.
The "oldValue" is an optional extension for "notifyMOIChanges" allowing to report also the value that the attribute had before replacing the value with the new value, that is contained in "value".
The following example notification (where JSON is expressed in YAML notation) reports an object creation
href: https://example.com/3gpp
…
moiChanges
– notificationId: 123456789
op: add
path: /ClassA=1
value:
id: 1,
objectClass: ClassA,
attributes:
attrA: 123
attrB:
subAttrB1: ABC
subAttrB2: 56
The following example reports the deletion of that object.
href: https://example.com/3gpp
…
moiChanges
– notificationId: 123456789
op: remove
path: /ClassA=1
The following example reports the addition of a new attribute "attrC".
href: https://example.com/3gpp
…
moiChanges
– notificationId: 123456789
op: add
path: /ClassA=1#/attributes/attrC
value: xyz
The following example reports the deletion of the attribute "attrC".
href: https://example.com/3gpp
…
moiChanges
– notificationId: 123456789
op: remove
path: /ClassA=1#/attributes/attrC
The following example reports a value change for the simple attribute "attrA".
href: https://example.com/3gpp
…
moiChanges
– notificationId: 123456789
op: replace
path: /ClassA=1#/attributes/attrA
value: 456
When the old value is reported as well, the notification looks like.
href: https://example.com/3gpp
…
moiChanges
– notificationId: 123456789
op: replace
path: /ClassA=1#/attributes/attrA
value: 456
oldValue: 123
The following example reports a value change for the complex attribute "attrB".
href: https://example.com/3gpp
…
moiChanges
– notificationId: 123456789
op: replace
path: /ClassA=1#/attributes/attrB
value:
subAttrB1: abc
subAttrB2: 78
The previous two notifications can be combined into a single notification as follows.
href: https://example.com/3gpp
…
moiChanges
– notificationId: 123456789
op: replace
path: /ClassA=1#/attributes/attrA
value: 456
– notificationId: 123456789
op: replace
path: /ClassA=1#/attributes/attrB
value:
subAttrB1: abc
subAttrB2: 78
Note the operation "replace" has replace semantics and not merge semantics. The following notification reports the value change of the attribute field "attrB:subAttrB1" to "def" and the deletion of the attribute field "attrB:subAttrB2".
href: https://example.com/3gpp
…
moiChanges
– notificationId: 123456789
op: replace
path: /ClassA=1#/attributes/attrB
value:
subAttrB1: def
The value change of the attribute field "attrA:subAttrB1" is reported as follows.
href: https://example.com/3gpp
…
moiChanges
– notificationId: 123456789
op: replace
path: /ClassA=1#/attributes/attrA/subAttrB1
value: def
Assume "attrD" is a JSON array with simple elements, then the creation of this multi-valued attribute is reported as follows.
href: https://example.com/3gpp
…
moiChanges
– notificationId: 123456789
op: add
path: /ClassA=1#/attributes/attrD
value:
– 1
– 2
– 3
Its deletion is reported by the following notification.
href: https://example.com/3gpp
…
moiChanges
– notificationId: 123456789
op: remove
path: /ClassA=1#/attributes/attrD
The complete replacement of the array is reported by the following notification.
href: https://example.com/3gpp
…
moiChanges
– notificationId: 123456789
op: add
path: /ClassA=1#/attributes/attrD
value:
– 11
– 21
– 31
The following example reports the second item in the array changed to "22".
href: https://example.com/3gpp
…
moiChanges
– notificationId: 123456789
op: replace
path: /ClassA=1#/attributes/attrD/1
value: 22
Note the array index of the second item is "1".
Assume now "attrE" is a JSON array with complex array items, for example.
[{subItemE1: 11, subItemD2: abc}, {subItemE1: 21, subItemE2: def}, {subItemE1: 31, subItemE2": ghi}.
A value change to
[{subItemE1: 11, subItemE2: abc}, {subItemE1: 21, subItemE2: xyz}, {subItemE1: 31, subItemE2": ghi}.
is reported by
href: https://example.com/3gpp
…
moiChanges
– notificationId: 123456789
op: replace
path: /ClassA=1#/attributes/attrE/1/subItemE2
value: xyz
When "subItemE2" is defined as array item key at stage 2, then "attrE" should contain a JSON map.
attrE:
11:
subItemE2: abc
21:
subItemE2: def
31:
subItemE2: ghi
The same change as above is now reported by the notification.
href: https://example.com/3gpp
…
moiChanges
– notificationId: 123456789
op: replace
path: /ClassA=1#/attributes/attrE/21/subItemD2
value: xyz
12.1.1.4.1a.5 Type NotifyMoiCreation
Table 12.1.1.4.1a.5 -1: Definition of type NotifyMoiCreation
Attribute name |
Data type |
Description |
S |
href |
Uri |
URI of the resource where the event (alarm) occurred |
M |
notificationId |
NotificationId |
Notification identifier as defined in ITU-T Rec. X. 733 [4] |
M |
notificationType |
NotificationType |
Notification type (notifyMOICreation) |
M |
eventTime |
DateTime |
Event (MOI creation) occurrence time |
M |
systemDN |
SystemDN |
System DN |
M |
correlatedNotifications |
array(CorrelatedNotification) |
Set of all notifications to which this notification is considered to be correlated as defined in ITU-T Rec. X. 733 [4] |
O |
additionalText |
string |
Allows a free form text description to be reported as defined in ITU-T Rec. X. 733 [4] |
O |
sourceIndicator |
SourceIndicator |
Indicates the source of the operation that led to the generation of this notification. |
O |
attributeList |
AttributeNameValuePairSet |
The attributes (name/value pairs) of the created MOI. |
O |
12.1.1.4.1a.6 Type NotifyMoiDeletion
Table 12.1.1.4.1a.6 -1: Definition of type NotifyMoiDeletion
Attribute name |
Data type |
Description |
S |
href |
Uri |
URI of the resource where the event (alarm) occurred |
M |
notificationId |
NotificationId |
Notification identifier as defined in ITU-T Rec. X. 733 [4] |
M |
notificationType |
NotificationType |
Notification type (notifyMOIDeletion) |
M |
eventTime |
DateTime |
Event (MOI creation) occurrence time |
M |
systemDN |
SystemDN |
System DN |
M |
correlatedNotifications |
array(CorrelatedNotification) |
Set of all notifications to which this notification is considered to be correlated as defined in ITU-T Rec. X. 733 [4] |
O |
additionalText |
string |
Allows a free form text description to be reported as defined in ITU-T Rec. X. 733 [4] |
O |
sourceIndicator |
SourceIndicator |
Indicates the source of the operation that led to the generation of this notification. |
O |
attributeList |
AttributeNameValuePairSet |
Attributes (name/value pairs) of the deleted MOI. |
O |
12.1.1.4.1a.7 Type NotifyMoiAttributeValueChanges
Table 12.1.1.4.1a.7 -1: Definition of type NotifyMoiAttributeValueChanges
Attribute name |
Data type |
Description |
S |
href |
Uri |
URI of the resource where the event (alarm) occurred |
M |
notificationId |
NotificationId |
Notification identifier as defined in ITU-T Rec. X. 733 [4] |
M |
notificationType |
NotificationType |
Notification type (notifyMOIAttributeValueChanges) |
M |
eventTime |
DateTime |
Event (MOI creation) occurrence time |
M |
systemDN |
SystemDN |
System DN |
M |
correlatedNotifications |
array(CorrelatedNotification) |
Set of all notifications to which this notification is considered to be correlated as defined in ITU-T Rec. X. 733 [4] |
O |
additionalText |
string |
Allows a free form text description to be reported as defined in ITU-T Rec. X. 733 [4] |
O |
sourceIndicator |
SourceIndicator |
Indicates the source of the operation that led to the generation of this notification. |
O |
attributeListValueChanges |
AttributeValueChangeSet |
List with names of changed attributes, together with new value and optionally old value |
M |
12.1.1.4.1a.8 Type NotifyMoiChanges
Table 12.1.1.4.1a.8 -1: Definition of type NotifyMoiChanges
Attribute name |
Data type |
Description |
S |
href |
Uri |
URI of a common ancestor resource (object) of the resources for which changes are reported. A MnS producer may set this attribute always to the parent of the root resource in the MIB. |
M |
notificationId |
NotificationId |
Notification identifier as defined in ITU-T Rec. X. 733 [4]. |
M |
notificationType |
NotificationType |
Notification type (notifyMOIChanges) |
M |
eventTime |
DateTime |
Event (NRM updates) occurrence time |
M |
systemDN |
SystemDN |
System DN |
M |
moiChanges |
array(MoiChange) |
MOI changes to be reported |
M |
12.1.1.4.1a.9 Type PatchItem
Table 12.1.1.4.1a.9 -1: Definition of type PatchItem
Attribute name |
Data type |
Description |
S |
op |
PatchOperation |
Patch operation. |
M |
from |
string |
Present only for "copy" and "move" operations, identifies the value to be copied or moved to the location specified by path. |
M |
path |
string |
Path specifying the patched value. |
M |
value |
any type |
New value for the resource identified by "path". |
M |
12.1.1.4.2 Void
12.1.1.4.3 Void
12.1.1.4.4 Simple data types and enumerations
12.1.1.4.4.1 General
This clause defines simple data types and enumerations that are used by the data structures defined in the previous clauses.
12.1.1.4.4.2 Simple data types
Table 12.1.1.4.3.2-1: Simple data types
Type name |
Type definition |
Description |
n/a |
n/a |
n/a |
12.1.1.4.4.3 Enumeration CmNotificationTypes
Table 12.1.1.4.4.3-1: Enumeration CmNotificationTypes
Enumeration value |
Description |
notifyMOICreation |
Notification type is notifyMOICreation |
notifyMOIDeletion |
Notification type is notifyMOIDeletion |
notifyMOIAttributeValueChanges |
Notification type is notifyMOIAttributeValueChange |
noitifyMOIChanges |
Notification type is notifyMOIChanges |
12.1.1.4.4.4 Enumeration SourceIndicator
Table 12.1.1.4.4.4-1: Enumeration SourceIndicator
Enumeration value |
Description |
RESOURCE_OPERATION |
The notification was generated in response to an internal operation of the resource. |
MANAGEMENT_OPERATION |
The notification was generated in response to a management operation applied across the managed object boundary external to the managed object |
SON_OPERATION |
The notification was generated as result of a SON (Self Organising Network) process like self-configuration, self-optimization, self-healing etc. . |
UNKNOWN |
It is not possible to determine the source of the operation. |
12.1.1.4.4.5 Enumeration ScopeType
Table 12.1.1.4.4.4.1-1: Enumeration ScopeType
Enumeration value |
Description |
BASE_ONLY |
Selects only the base resource. The "scopeLevel" parameter shall be absent or ignored if present. |
BASE_ALL |
Selects the base resource and all of its subordinate resources (incl. the leaf resources). The "scopeLevel" parameter shall be absent or ignored if present. |
BASE_NTH_LEVEL |
Selects all resources on the level, which is indicated by the "scopeLevel" parameter, below the base resource. The base resource is at "scopeLevel" zero. |
BASE_SUBTREE |
Selects the base resource and all of its subordinate resources down to and including the resources on the level indicated by the "scopeLevel" parameter. The base resource is at "scopeLevel" zero. |
12.1.1.4.4.6 Enumeration Operation
Table 12.1.1.4.4.4.6-1: Enumeration Operation
Enumeration value |
Description |
add |
Create operation |
remove |
Delete operation |
replace |
Replace operation |
12.1.1.4.4.7 Enumeration PatchOperation
Table 12.1.1.4.4.4.7-1: Enumeration PatchOperation
Enumeration value |
Description |
add |
Add operation |
replace |
Replace operation |
remove |
Remove operation |
copy |
Copy operation |
move |
Move operation |
test |
Test operation |
12.1.1.4.4.8 Enumeration Insert
Table 12.1.1.4.4.4.8-1: Enumeration Insert
Enumeration value |
Description |
before |
Specifies the new attribute element is inserted before the attribute element identified by the "path" attribute of "MoiChange". |
after |
Specifies the new attribute element is inserted after the attribute element identified by the "path" attribute of "MoiChange". |
12.1.2 RESTful HTTP-based solution set for integration with ONAP VES API
12.1.2.1 Mapping of operations
NOTE: this mapping is not part of the present document.
12.1.2.2 Mapping of notifications
12.1.2.2.1 Introduction
12.1.2.2.1.1 General
The 3GPP IS notifications are mapped to SS euivalents according to table 12.1.2.2.1.1-1.
Table 12.1.2.2.1.1-1: Mapping of 3GPP IS notifications to SS equivalents
3GPP IS notifications |
HTTP Method |
Resource URI |
S |
notifyMOICreation |
POST |
/eventListener |
M |
notifyMOIDeletion |
POST |
/eventListener |
M |
notifyMOIAttributeValueChanges |
POST |
/eventListener |
M |
notifyMOIChanges |
POST |
/eventListener |
M |
12.1.2.2.1.2 Void
12.1.2.2.2 Notification notifyMOICreation
See clause 12.1.1.2.2..
12.1.2.2.3 Notification notifyMOIDeletion
See clause 12.1.1.2.3.
12.1.2.2.4 Notification notifyMOIAttributeValueChange
See clause 12.1.1.2.4.
12.1.2.2.5 Notification notifyMOIChanges
See clause 12.1.1.2.5.
12.1.2.3 Resources
12.1.2.3.1 Resource structure
Figure 12.1.2.3.1-1 shows the resource structure of the provisioning MnS in the context of its integration with VES Event Listener 7.1.1 [45].
Figure 12.1.2.3.1-1: Resource URI structure of the provisioning MnS for integration with ONAP VES Event Listener 7.1.1 (Resource structure section) [45]
Table 12.1.2.3.1-1 provides an overview of the resources and applicable HTTP methods.
Table 12.1.2.3.1-1: Resources and methods overview
Resource name |
Resource URI |
HTTP method |
Description |
eventListener |
/eventListener |
POST |
Send notifications |
12.1.2.3.2 Resource definitions
See Resource structure section in [45].
12.1.2.4 Data type definitions
See clause 12.1.1.4.
12.1.3 YANG/Netconf-based solution set
12.1.3.1 Mapping of operations
12.1.3.1.1 Introduction
The YANG/Netconf based solution set is based on the 3GPP TS 32.160 [33] clause 6.2 and the IETF RFC 6241 [32] including the Xpath capability.
NOTE: The clauses below omit namespaces for brevity. In NETCONF operations namespaces are included following [34]
12.1.3.1.2 Operation createMOI
The operation is mapped to a NETCONF <edit-config> operation, with XML elements representing the DN path to the MOI, the MOI itself, its id/key and its attributes.
The NETCONF operation attribute on the list representing the newly created MOI should be set to ‘create’.
The default-operation parameter of the <edit-config> operation should be set to none.
The IS operation parameters are mapped to SS equivalents according to table 12.1.3.1.2-1 and table 12.1.3.1.2-2.
Table 12.1.3.1.2-1: Mapping from IS createMOI input parameters to SS equivalents
IS operation parameter name |
SS parameter name |
S |
Remark |
managedObjectClass |
config |
M |
XML element’s name inside the <config> element. |
managedObjectInstance |
config |
M |
A sequence of embedded XML elements inside the <config> element. XML elements for all containing MOIs and their ids(keys) shall be included together wilt the XML elements representing the to be created MOI and its key. |
attributeListIn |
config |
M |
The key leaf, the “attributes container” and leaf, leaf-list or list entries of YANG models representing the attributes. |
Table 12.1.3.1.2-2: Mapping from IS createMOI output parameters to SS equivalents
IS operation parameter name |
SS parameter name |
S |
Remark |
attributeListOut |
no corresponding SS parameter |
M |
Not supported. (note 1) |
status |
– |
M |
OperationSucceeded if NETCONF rpc-reply contains <ok> element. OperationFailed if NETCONF-reply contains <rpc-error>. |
NOTE 1: Successful Netconf <edit-config> operations only return an <ok> element. Therefore, the attributeListOut can be retrieved via a separate <get-config> operation.
Examples
Create ManagedElement=myNode, GNBDUFunction=1
<rpc message-id="101">
<edit-config>
<target>
<running/>
</target>
<default-operation>none</default-operation>
<config>
< ManagedElement>
<id>myNode</id>
<GNBDUFunction operation=”create”>
<id>1</id>
<attributes>
<gNBIdLength>25</gNBIdLength>
<gNBId>357</gNBId>
<priorityLabel>1</priorityLabel>
<gNBDUName>du-south-1</gNBDUName>
<!– other attributes —>
</attributes>
</GNBDUFunction>
</ManagedElement>
</config>
</edit-config>
</rpc>
<!– createMO Response –>
<rpc-reply message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<ok/>
</rpc-reply>
12.1.3.1.3 Operation getMOIAttributes
This IS operation is mapped to NETCONF <get> or <get-config> operation, depending on whether all configuration and state information is to be retrieved, or configuration data only. (In the next paragraphs only <get> operation is mentioned but <get-config> is always an alternative).
The IS operation patameters baseObjectInstance , (3GPP-)filter, scope, level and attributeListIn are all combined and mapped into the Netconf-filter element. The scopes BASE_ONLY and BASE_ALL can be mapped to both subtree and Xpath filtering. The scopes BASE_NTH_LEVEL and BASE_SUBTREE can only be mapped to Xpath filtering.
The IS operation parameters are mapped to SS equivalents according to table 12.1.3.1.3-1 and table 12.1.3.1.3-2.
Table 12.1.3.1.3-1: Mapping of IS getMOIAttributes input parameters to SS equivalents
IS operation parameter name |
SS parameter name |
S |
Remark |
baseObjectInstance |
filter |
M |
Initial part of the filter element. For subtree filter this is a set of XML element representing lists containing MOIs together with the leafs representing key values for these MOIs from the root MOI (e.g. ManagedElement) to the baseObjectInstance. For Xpath filter it is the initial parts of the Xpath expression representing the same information. |
scope |
filter |
M |
BASE_ONLY and BASE_ALL realized by the initial XML elements of the <get> operation. BASE_SUBTREE and BASE_NTH_LEVEL is encoded in the Xpath filter. |
level |
filter |
M |
Included in the Xpath filter, see examples. (If level is used Xpath filtering must be used. For BASE_SUBTREE the levels number is transformed into a number of filter sub-expressions joined by the OR operator. For BASE_NTH_LEVEL included in the Xpath expression as a sequence of ‘*’ parts (descendant axis) The number of ‘*’ correspond to the number of levels. |
filter |
filter |
M |
Netconf Subtree or Xpath filter |
attributeListIn |
filter |
M |
add the attributes to the subtree or Xpath filter |
Table 12.1.3.1.3-2: Mapping of IS getMOIAttributes output parameters to SS equivalents
IS operation parameter name |
SS parameter name |
S |
Remark |
managedObjectClass |
data |
M |
Can be extracted from the NETCONF <rpc-reply> <data> elements |
managedObjectInstance |
data |
M |
Can be extracted from the NETCONF <rpc-reply> <data> elements |
attributeListOut |
data |
M |
Can be extracted from the NETCONF <rpc-reply> <data> elements |
status |
data |
M |
rpc-reply or rpc-error indicates general status. |
If scope is BASE_ONLY the <get> shall be directed against the “attributes” container of the baseObjectInstance.
Example 1
A getMOIAttributes for base object ManagedElement=myNode, scope = BASE_ONLY, filter=none, attributesListIn=empty is mapped into the following <get-config> operation –
<rpc message-id="101"
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<get-config>
<source>
<running/>
</source>
<filter type="subtree">
<ManagedElement>
<id>myNode</id>
<attributes/>
</ManagedElement>
</filter>
</get-config>
</rpc>
If scope is BASE_ALL the <get> shall be directed against the list representing the baseObjectInstance.
Example 2
A getMOIAttributes for base object ManagedElement=myNode, scope = BASE_ALL, filter=, MeasurementControl.pMAdministrativeState=UNLOCKED, attributesListIn=empty.
<rpc message-id="101"
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<get>
<source>
<running/>
</source>
<filter type="subtree">
<ManagedElement>
<id>myNode</id>
<MeasurementControl>
<pMAdministrativeState>
UNLOCKED
</pMAdministrativeState>
</MeasurementControl>
</ManagedElement>
</filter>
</get>
</rpc>
If scope is BASE_SUBTREE the <get> shall be directed against the list representing the baseObjectInstance. The Xpath filter expression will need a sub-expression for each level joined by the OR operator.
Example 3
A getMOIAttributes for base object ManagedElement=me1, scope = BASE_ SUBTREE, level=2, filter=none, attributesListIn=empty.
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="101">
<get>
<source>
<running/>
</source>
<filter type="xpath"
select="/me3gpp:ManagedElement[id=’me1′]/attributes |
/me3gpp:ManagedElement[id=’me1′]/*/attributes |
/me3gpp:ManagedElement[id=’me1′]/*/*/attributes" />
</get>
</rpc>
If scope is BASE_NTH_LEVEL the <get> shall be directed against the list representing classes at the Nth level under the baseObjectInstance. The number of ‘*’ parts (descendant axis) will correspond to the number of levels.
Example 4
A getMOIAttributes for base object ManagedElement=myNode, scope = BASE_NTH_LEVEL, level=2, filter=none, attributesListIn=empty.
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="101">
<get>
<source>
<running/>
</source>
<filter type="xpath"
select="/me3gpp:ManagedElement[id=’me1′]/*/*/attributes"/>
</get>
</rpc>
12.1.3.1.4 Operation modifyMOIAttributes
This IS operation modifies one or multiple managed object instances. It is mapped to the NETCONF <edit-config> operation. The NETCONF <edit-config> operation can modify attributes in a given MOI or set of MOIs but only indirectly supports scope or filtered sets of MOIs that are part of the modifyMOIAttributes 3GPP operation specification. <edit-config> needs a config block, containing the explicit config changes to be made for each MOI.
The default-operation parameter should be set to none.
The Netconf operation attribute on the list representing modified MOI(s) should be set to create, replace or delete according to the ENUM in the modificationList.
The IS operation parameters are mapped to SS equivalents according to table 12.1.3.1.4-1 and table 12.1.3.1.4-2.
Table 12.1.3.1.4-1: Mapping of IS modifyMOIAttributes input parameters to SS equivalents
IS operation parameter name |
SS parameter name |
S |
Remark |
baseObjectInstance |
config |
M |
A sequence of embedded XML elements inside the <config> element. XML elements for all containing MOIs and their ids(keys) shall be included together with the XML elements representing the to be modified MOI and its key. |
scope |
config |
M |
BASE_ONLY supported as default. Multiple MOIs can be specified in the same operation, emulating other scopes. |
filter |
config |
M |
Multiple MOIs can be specified in the same operation, emulating filtering. |
modificationList |
config |
M |
The “attributes container” and leaf, leaf-list or list entries representing the attributes. |
Table 12.1.3.1.4-2: Mapping of IS modifyMOIAttributes output parameters to SS equivalents
IS operation parameter name |
SS parameter name |
S |
Remark |
modificationListOut |
no corresponding SS parameter |
M |
Not supported. (note 1) |
status |
– |
M |
rpc-reply or rpc-error indicates general status. The following elements give detailed error information: <error-tag> <error-path> |
Note 1: Successful Netconf <edit-config> operations only return an <ok> element. Therefore, the attributeListOut can be retrieved via a separate <get-config> operation.
12.1.3.1.5 Operation deleteMOI
This IS operation deletes one or multiple managed object instances. It is mapped to the NETCONF <edit-config> operation. <edit-config> can delete one or more specific MOIs but only indirectly supports scope or filtered sets of MOIs that are part of the generic deleteMOI 3GPP operation specification. <edit-config> uses a config block, indicating the MOI(s) to be deleted.
The Netconf operation attribute on the list representing the baseObjectInstance should be set to delete or remove.
The default-operation parameter should be set to none.
The IS operation parameters are mapped to SS equivalents according to table 12.1.3.1.5-1 and table 12.1.3.1.5-2.
Table 12.1.3.1.5-1: Mapping of IS deleteMOI input parameters to SS equivalents
IS operation parameter name |
SS parameter name |
S |
Remark |
baseObjectInstance |
config |
M |
A sequence of embedded XML elements inside the <config> element. XML elements for all containing MOIs and their ids(keys) shall be included together wilt the XML elements representing the to be deleted MOI and its key. |
scope |
config |
M |
BASE_ONLY supported as default. Multiple MOIs can be specified in the same operation, emulating other scopes. |
filter |
config |
M |
Multiple MOIs can be specified in the same operation, emulating filtering. |
Table 12.1.3.1.5-2: Mapping of IS deleteMOI output parameters to SS equivalents
IS operation parameter name |
SS parameter name |
S |
Remark |
deletionList |
no corresponding SS parameter |
M |
Not supported. (note 1) |
status |
– |
M |
rpc-reply or rpc-error indicates general status. The following elements give detailed error information: <error-tag> <error-path> |
NOTE 1: Successful Netconf <edit-config> operations only return an <ok> element. Therefore, the deletionList can be retrieved via a separate <get-config> operation.
12.1.3.2 Mapping of notifications
12.1.3.2.1 Introduction
The notifications "notifyMOICreation", "notifyMOIDeletion" and "notifyMOIAttributeValueChanges" should not be used in the YANG_Netconf solution set as "notifyMOIChanges" provides the same functionality.
12.1.3.2.2 Notification notifyMOICreation
The notification is not mapped to the NETCONF/YANG solution.
12.1.3.2.3 Notification notifyMOIDeletion
The notification is not mapped to the NETCONF/YANG solution.
12.1.3.2.4 Notification notifyMOIAttributeValueChange
The notification is not mapped to the NETCONF/YANG solution.
12.1.3.2.5 Notification notifyMOIChanges
The NETCONF/YANG solution set uses the same mapping as the RESTful HTTP-based solution set as described in clause 12.1.1.2.5 with the changes and additions described below.
– Any changes reported are based on the YANG NRM definitions, even though the RESTful notification mapping is reused.
– The media type as specified by the "Content-Type" header in the HTTP POST request shall be "application/yang-data+json" and not "application/json".
– The value of "href" shall be set to the FQDN or IP address identifying the NETCONF server.
– The value of "path" shall be a RESTCONF data resource identifier (RFC 8040 [49], clause 3.5.3).
– The "path" includes the YANG module name.
– The "#" character before "/attributes" in "path" is not present. NETCONF/YANG does not differentiate between the stage 2 concepts of object and attribute, hence there is no need for a delimiter.
– The value of "value" shall follow the JSON encoding of YANG (RFC 7951 [50]).
– Attribute elements are identified by their value (in case of a YANG "leaf-list") or by the values of keys (in case of a YANG "list"). In JSON Patch, attribute elements are identified based on their index, i.e. based on the position in the array.
– In case no key is defined for a YANG "list" it is not possible to report the creation, deletion or replacement of individual list entries. In this case, whenever the list is modified, the replacement of the complete attribute or attribute field (the complete list with all list enties) shall be reported.
– Similarly if an attribute(field) is mapped to a YANG leaf-list with non-unique values it is not possible to report the creation, deletion or replacement of an individual value. In this case, whenever the leaf-list is modified, the replacement of the complete attribute or attribute field (the complete leaf-list; all values) shall be reported.
– YANG default values shall be handled as follows:
– Attributes with default values, for which no value is specified in the object creation request, shall be included in the object creation report with their default values.
– Attributes with default values, that are deleted and consequently set to their default value, shall be included in attribute replacement reports.
Note all following use-cases use JSON expressed in YAML notation.
Case 1: Creation of an MOI is reported with:
– operation: add
– path: YANG resource identifier pointing to the list entry representing the MOI
– value: a complete MOI representation, represented by the "id" node and the "attributes" container but exluding the list entry itself encoded according to RFC7951 [50].
For example, the following instance of a "moiChanges" array item reports an object creation:
href: node1.lichtenberg.de
…
notificationId: 123456001
path: "/3gpp-common-managed-element:ManagedElement=node3/3gpp-common-measurements:PerfMetricJob=job1"
operation: add
value:
id: job1
3gpp-common-measurements:PerfMetricJob:attributes:
jobId: 9865
fileReportingPeriod: 30
Case 2: Deletion of an MOI is reported with:
– operation: remove
– path: YANG resource identifier pointing to the list entry representing the MOI
– value: not present
For example, the following instance of a "moiChanges" array item reports an object deletion:
href: node1.charlottenburg.de
…
notificationId: 123456002
path: "/3gpp-common-managed-element:ManagedElement=node3/3gpp-common-measurements:PerfMetricJob=job1"
operation: remove
Case 3: Creating a (complete) attribute is reported as follows. (Setting the value(s) of an attribute that had no value before the change):
– operation: add.
– path: YANG resource identifier pointing to the leaf/leaf-list/container/list representing the attribute. If the attribute is represented by a list or leaf-list, then for this last data node the equal sign, the key value(s) or leaf-list value is omitted, only the list/leaf-list name shall be present.
– value: the content of the leaf/leaf-list entry(s)/container/list entry(s) representing the created attribute encoded according to RFC7951 [50]. In case of attribute represented by a container/list the child data nodes are encoded only,the container/list itself is not.
For example, the following instance of a "moiChanges" array item reports setting the values of the performanceMetrics simple, multivalue attribute:
href: node1.spandau.de
…
notificationId: 123456003
path: "/3gpp-common-managed-element:ManagedElement=node3/3gpp-common-measurements:PerfMetricJob=job1/attributes/performanceMetrics"
operation: add
value:
– inOctets
– inPackets
– outPackets
Case 4: Deleting all values of a complete attribute is reported with
– operation: remove.
– path: Same as in case 3.
– value: not present.
For example, the following instance of a "moiChanges" array item reports deleting all values of the performanceMetrics attribute:
href: node1.pankow.de
…
notificationId: 123456004
path: "/3gpp-common-managed-element:ManagedElement=node3/3gpp-common-measurements:PerfMetricJob=job1/attributes/performanceMetrics"
operation: remove
Case 5: Replacing a (complete) attribute is reported as follows. (Removing all previous values of the attribute and setting new value(s)):
– operation: replace.
– path: Same as in case 3.
– value: Same as in case 3.
Case 6: Adding a new value to a multivalue attribute (an attribute with multiplicity upper bound greater than 1) is reported as follows. (This does not imply any change to exisiting values):
– operation: add/
– path: YANG resource identifier pointing to a leaf-list/list entry representing an attribute element(value). In case of adding a new element to an attribute with the property isOrdered=True the new element/value is inserted before the pointed element(value), unless the "insert" subparameter specifies differently.
– value: the leaf-list/list entry representing the new attribute value encoded according to RFC7951 [50]. In case of a list the child data nodes are encoded the list-entry itself is not.
– insert: an additional input subparameter is added to the moiChange input parameter. This indicates whether the new element/value was added before or after the element/value specified in path. The subparameter is only valid in case of attributes with the property isOrdered=True. It can take the values "before", "after". If missing it defaults to "before".
For example, the following instance of a "moiChanges" array item reports adding a new element/value to the "performanceMetrics" attribute before the outPackets element.:
notificationId: 123456006
path: "/3gpp-common-managed-element:ManagedElement=node3/3gpp-common-measurements:PerfMetricJob=job1/attributes/performanceMetrics/performanceMetrics=outPackets"
operation: add
insert: before
value: outOctets
Case 7: Deleting a single element/value from a multivalue attribute is reported as follows. (This does not imply any change to any other elements):
– operation: remove.
– path: Same as case 6.
– value: not present.
Case 8: Replacement of a single value for a multivalue attribute is reported as follows. This implies removing the old value; in case of a structured attribute removal all its subparts. This does not imply any change to any other values:
– operation: replace.
– path: Same as case 6.
– value: Same as case 6.
For example, the following instance of a "moiChanges" array item reports replacing an element/value of the "thresholdInfoList" structured attribute:
notificationId: 123456008
path: 3gpp-common-managed-element:ManagedElement=node3/3gpp-common-measurements:ThresholdMonitor=job1/attributes/thresholdInfoList=thr1
operation: replace
value:
– idx: thr1
thresholdDirection: UP
thresholdValue: ‘4.5’
Case 9: Adding afield (subpart) of an attribute value is reported as follows (only used for structured attributes represented by a list or container in YANG):
– operation: add.
– path: YANG Resource Identifier pointing to the leaf/leaf-list/container/list representing the attribute field. If the attribute field is represented by a list or leaf-list, the field has multiplicity upper bound greater than 1, with the property isOrdered=True the new element/value is inserted before the pointed element(value), unless the "insert" subparameter specifies differently.
– value: the leaf/leaf-list/container/list representing the new attribute field values encoded according to RFC7951. In case of a list/container representing the attribute field, value shall contain only the child data nodes, but not the container/list-entry itself.
– insert: In case the field has multiplicity upper bound greater than 1 and has the property isOrdered=True, the subparameter is used similarly as in case 6.
For example, the following instance of a "moiChanges" array item reports adding a value to the " hysteresis " attribute subpart:
notificationId: 123456009
path: 3gpp-common-managed-element:ManagedElement=node3/3gpp-common-measurements:ThresholdMonitor=job1/attributes/thresholdInfoList=thr1/hysteresis
operation: add
value: ’10’
Case 10: Deleting a field (subpart) of an attribute is reported as follows. (only used for structured attributes represented by a list or container in YANG):
– operation: remove.
– path: Same as case 9.
– value: Not present.
For example, the following instance of a "moiChanges" array item reports deleting all values of the "hysteresis" attribute field:
notificationId: 123456010
path: 3gpp-common-managed-element:ManagedElement=node3/3gpp-common-measurements:ThresholdMonitor=job1/attributes/thresholdInfoList=thr1/hysteresis
operation: remove
Case 11: Replacement of a field (subpart) of an attribute is reported as follows. This implies removing previous value(s). (only used for structured attributes represented by a list or container in YANG):
– operation: replace.
– path: Same as case 9.
– value: Same as case 9.