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.