# ============LICENSE_START=======================================================
-# Copyright (C) 2021-2023 Nordix Foundation
+# Copyright (C) 2021-2025 OpenInfra Foundation Europe. All rights reserved.
# Modifications Copyright (C) 2021 Pantheon.tech
# Modifications Copyright (C) 2022 Bell Canada
# ================================================================================
type: string
example: my-cm-handle
cmHandleProperties:
- $ref: '#/components/schemas/RestCmHandleProperties'
+ type: object
+ additionalProperties:
+ type: string
+ example: my-property
publicCmHandleProperties:
- $ref: '#/components/schemas/RestCmHandleProperties'
+ type: object
+ additionalProperties:
+ type: string
+ example: my-property
moduleSetTag:
type: string
example: "my-module-set-tag"
- RestCmHandleProperties:
- type: object
- additionalProperties:
- type: string
- example: my-property
+ trustLevel:
+ type: string
+ enum: [COMPLETE, NONE]
+ example: "COMPLETE"
+ alternateId:
+ type: string
+ example: "Subnetwork=Europe,ManagedElement=X123"
+ dataProducerIdentifier:
+ type: string
+ example: "my-data-producer-identifier"
#Module upgrade schema
UpgradedCmHandles:
required:
example: [ my-cm-handle1, my-cm-handle2, my-cm-handle3 ]
moduleSetTag:
type: string
+ default: ""
example: 'my-module-set-tag'
#Response Schemas
content:
type: string
example: |
- module stores {
+ module _3gpp-nr-nrm-gnbdufunction {
yang-version 1.1;
- namespace 'org:onap:ccsdk:sample';
- prefix book-store;
+ namespace 'urn:3gpp:sa5:_3gpp-nr-nrm-gnbdufunction';
+ prefix gnbdu3gpp;
revision '2020-09-15' {
description
- 'Sample Model';
+ 'Defines the YANG mapping of the GNBDUFunction Information
+ Object Class (IOC) that is part of the NR Network Resource Model (NRM).
+ Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI,
+ TTA, TTC). All rights reserved.';
}
}
type: string
example: my-cm-handle1
publicCmHandleProperties:
- $ref: '#/components/schemas/CmHandlePublicProperties'
+ type: object
+ nullable: true
+ items:
+ type: object
+ additionalProperties:
+ type: string
+ example: '3gpp Type'
+ cmHandleProperties:
+ type: object
+ additionalProperties:
+ type: string
+ example: '3gpp Type'
state:
$ref: '#/components/schemas/CmHandleCompositeState'
trustLevel:
$ref: '#/components/schemas/CmHandleTrustLevel'
- CmHandlePublicProperties:
- type: object
- items:
- type: object
- additionalProperties:
+ moduleSetTag:
+ type: string
+ example: my-module-set-tag
+ alternateId:
type: string
- example: 'Book Type'
+ example: "Subnetwork=Europe,ManagedElement=X123"
+ dataProducerIdentifier:
+ type: string
+ example: my-data-producer-identifier
CmHandleCompositeState:
type: object
properties:
type: string
example: 2022-12-31T20:30:40.000+0000
- RestOutputCmHandlePublicProperties:
+ RestOutputPublicCmHandleProperties:
type: object
properties:
publicCmHandleProperties:
- $ref: '#/components/schemas/CmHandlePublicProperties'
-
+ type: object
+ items:
+ type: object
+ additionalProperties:
+ type: string
+ example: '3gpp Type'
RestOutputCmHandleCompositeState:
type: object
properties:
example: 'ncmp-datastore:passthrough-operational'
options:
type: string
- example: '(fields=schemas/schema)'
+ example: '(fields=NRCellDU/attributes/cellLocalId)'
resourceIdentifier:
type: string
- example: 'parent/child'
+ example: '/ManagedElement=NRNode1/GNBDUFunction=1'
targetIds:
type: array
items:
type: string
+ description: targeted cm handle references, maximum of 200 supported. If this limit is exceeded the request will be refused.
example: [ "da310eecdb8d44c2acc0ddaae01174b1","c748c58f8e0b438f9fd1f28370b17d47" ]
examples:
dataSampleRequest:
summary: Sample request
- description: Sample request body
+ description: Sample request body for GNBDUFunction configuration
value:
- test:bookstore:
- bookstore-name: Chapters
- categories:
- - code: '01'
- name: SciFi
- books:
- - authors:
- - Iain M. Banks
- - Ursula K. Le Guin
- - code: '02'
- name: kids
- books:
- - authors:
- - Philip Pullman
+ gnbdu3gpp:GNBDUFunction:
+ id: 12345
+ attributes:
+ gNBId: 5
+ gNBIdLength: 32
+ gNBDUId: 67890
+ gNBDUName: "DU-1"
+ rimRSReportConf:
+ reportIndicator: "enabled"
+ reportInterval: 1000
+ nrofRIMRSReportInfo: 5
+ maxPropagationDelay: 32767
+ RimRSReportInfoList:
+ - detectedSetID: 1
+ propagationDelay: 20
+ functionalityOfRIMRS: "RS1"
+ - detectedSetID: 2
+ propagationDelay: 15
+ functionalityOfRIMRS: "RS2"
dataSamplePatchRequest:
summary: Sample patch request
- description: Sample patch request body
+ description: Sample patch request to modify GNBDUFunction
value:
ietf-restconf:yang-patch:
patch-id: patch-1
edit:
- edit-id: edit1
- operation: merge
- target: /
+ operation: replace
+ target: /gnbdu3gpp:GNBDUFunction
value:
- test:bookstore:
- bookstore-name: Chapters
- categories:
- - code: '01'
- name: Science
- books:
- - authors:
- - Author1
- - Author2
- - code: '02'
- name: Arts
- books:
- - authors:
- - Author3
+ gnbdu3gpp:GNBDUFunction:
+ id: 54321
+ attributes:
+ gNBId: 5
+ gNBIdLength: 32
+ gNBDUId: 98765
+ gNBDUName: "DU-2"
+ rimRSReportConf:
+ reportIndicator: "disabled"
+ reportInterval: 2000
+ nrofRIMRSReportInfo: 3
+ maxPropagationDelay: 20000
- edit-id: edit2
operation: merge
- target: /
+ target: /gnbdu3gpp:GNBDUFunction
value:
- test:bookstore:
- bookstore-name: Novels
- categories:
- - code: '03'
- name: History
- books:
- - authors:
- - Iain M. Banks
- - Ursula K. Le Guin
- - code: '04'
- name: Fiction
- books:
- - authors:
- - Philip Pullman
+ gnbdu3gpp:GNBDUFunction:
+ configurable5QISetRef: "/5QISet-001"
+ dynamic5QISetRef: "/Dynamic5QISet-001"
dataSampleResponse:
summary: Sample response
- description: Sample response for selecting 'sample 1'.
+ description: Sample response with GNBDUFunction configuration
value:
- bookstore:
- categories:
- - code: '01'
- books:
- - authors:
- - Iain M. Banks
- - Ursula K. Le Guin
- name: SciFi
- - code: '02'
- books:
- - authors:
- - Philip Pullman
- name: kids
+ gnbdu3gpp:GNBDUFunction:
+ id: 12345
+ attributes:
+ gNBId: 5
+ gNBIdLength: 32
+ gNBDUId: 67890
+ gNBDUName: "DU-1"
+ rimRSReportConf:
+ reportIndicator: "enabled"
+ reportInterval: 1000
+ nrofRIMRSReportInfo: 5
+ maxPropagationDelay: 32767
+ RimRSReportInfoList:
+ - detectedSetID: 1
+ propagationDelay: 20
+ functionalityOfRIMRS: "RS1"
+ - detectedSetID: 2
+ propagationDelay: 15
+ functionalityOfRIMRS: "RS2"
+ configurable5QISetRef: "/5QISet-001"
+ dynamic5QISetRef: "/Dynamic5QISet-001"
allCmHandleQueryParameters:
value:
schema:
type: string
example: my-cm-handle
+ cmHandleReferenceInPath:
+ name: cm-handle
+ in: path
+ description: The identifier (cmHandle or alternate) for a network function, network element, subnetwork or any other cm object by managed Network CM Proxy
+ required: true
+ schema:
+ type: string
+ example: my-cm-handle-reference
+ outputAlternateIdOptionInQuery:
+ name: outputAlternateId
+ in: query
+ description: Boolean parameter to determine if returned value(s) will be cm handle ids or alternate ids for a given query
+ required: false
+ schema:
+ type: boolean
+ default: false
+ moduleNameInQuery:
+ name: module-name
+ in: query
+ description: Filter for a module name.This is an optional parameter
+ required: false
+ schema:
+ type: string
+ example: my-module
+ revisionInQuery:
+ name: revision
+ in: query
+ description: Filter for a module revision.This is an optional parameter and ignored when no module name is supplied
+ required: false
+ schema:
+ type: string
+ example: 2024-01-22
dataSyncEnabled:
name: dataSyncEnabled
in: query
default: /
examples:
container cps path:
- value: //bookstore
+ value: '//GNBDUFunction'
list attributes cps path:
- value: //categories[@code=1]
+ value: "//GNBDUFunction[@id='1001']"
dmiPluginIdentifierInQuery:
name: dmi-plugin-identifier
in: query
resourceIdentifierInQuery:
name: resourceIdentifier
in: query
- description: The format of resource identifier depend on the associated DMI Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but it can really be anything.
+ description: |
+ The `resourceIdentifier` parameter specifies the target resource in the GNBDUFunctionConfig model.
+ For ONAP DMI Plugin, the format will follow RESTConf paths. Examples:
+ - All GNBDUFunctions: `/ManagedElement=node1/GNBDUFunction=1`
required: true
- allowReserved: true
schema:
type: string
examples:
sample 1:
value:
- resourceIdentifier: \shops\bookstore
- sample 2:
- value:
- resourceIdentifier: \shops\bookstore\categories[@code=1]
- sample 3:
- value:
- resourceIdentifier: parent=shops,child=bookstore
+ resourceIdentifier: '/ManagedElement=node1/GNBDUFunction=1'
optionsParamInQuery:
name: options
in: query
- description: options parameter in query, it is mandatory to wrap key(s)=value(s) in parenthesis'()'. The format of options parameter depend on the associated DMI Plugin implementation.
+ description: |
+ The `options` parameter specifies additional query options. It is mandatory to wrap key(s)=value(s) in parentheses `()`.
+ Examples for GNBDUFunctionConfig queries:
+ - Limit depth of returned sub-tree: `(depth=2)`
+ - Select specific fields: `(fields=attributes(gNBId;gNBDUName))`
+ - Combine options: `(depth=3,fields=attributes(gNBId;gNBDUName))`
required: false
schema:
type: string
- allowReserved: true
examples:
- sample 1:
+ Limit Depth:
value:
- options: (depth=3)
- sample 2:
+ options: (depth=2)
+ Select Specific Fields:
value:
- options: (fields=book)
- sample 3:
+ options: (fields=attributes(gNBId;gNBDUName))
+ Combine Depth and Fields:
value:
- options: (depth=2,fields=book/authors)
+ options: (depth=3,fields=attributes(gNBId;gNBDUName))
topicParamInQuery:
name: topic
in: query
required: false
schema:
type: string
- allowReserved: true
examples:
sample 1:
value:
required: true
schema:
type: string
- allowReserved: true
examples:
sample 1:
value:
type: string
default: application/json
example: application/yang-data+json
+ authorizationParamInHeader:
+ name: Authorization
+ in: header
+ required: false
+ description: Authorization parameter for request.
+ schema:
+ type: string
datastoreName:
name: datastore-name
in: path
schema:
$ref: '#/components/schemas/ErrorMessage'
example:
- status: 400 BAD_REQUEST
+ status: 400
message: Bad request error message
details: Bad request error details
Conflict:
schema:
$ref: '#/components/schemas/ErrorMessage'
example:
- status: 409 CONFLICT
+ status: 409
message: Conflict error message
details: Conflict error details
+ PayloadTooLarge:
+ description: The request is larger than the server is willing or able to process
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 413
+ message: Payload Too Large error message
+ details: Payload Too Large error details
NotImplemented:
description: The given path has not been implemented
content: