openapi: 3.0.3
info:
  description: NCMP to CPS Proxy API
  title: NCMP to CPS Proxy API
  version: 3.6.3
servers:
- url: /ncmp
paths:
  /v1/ch/{cm-handle}/data/ds/{datastore-name}:
    delete:
      description: Delete resource data from pass-through running for a given cm handle
      operationId: deleteResourceDataRunningForCmHandle
      parameters:
      - description: The type of the requested data
        in: path
        name: datastore-name
        required: true
        schema:
          example: ncmp-datastore:running
          type: string
      - description: "The identifier (cmHandle or alternate) for a network function,\
          \ network element, subnetwork or any other cm object by managed Network\
          \ CM Proxy"
        in: path
        name: cm-handle
        required: true
        schema:
          example: my-cm-handle-reference
          type: string
      - 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`
        examples:
          sample 1:
            value:
              resourceIdentifier: /ManagedElement=node1/GNBDUFunction=1
        in: query
        name: resourceIdentifier
        required: true
        schema:
          type: string
      - description: "Content parameter for request, if content parameter is null,\
          \ default value is application/json."
        in: header
        name: Content-Type
        required: false
        schema:
          default: application/json
          example: application/yang-data+json
          type: string
      - description: Authorization parameter for request.
        in: header
        name: Authorization
        required: false
        schema:
          type: string
      responses:
        "204":
          content: {}
          description: No Content
        "400":
          content:
            application/json:
              example:
                status: 400
                message: Bad request error message
                details: Bad request error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Bad Request
        "403":
          content:
            application/json:
              example:
                status: 403
                message: Forbidden error message
                details: Forbidden error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Forbidden
        "404":
          content:
            application/json:
              example:
                status: 400
                message: Not found error message
                details: Not found error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: The specified resource was not found
        "409":
          content:
            application/json:
              example:
                status: 409
                message: Conflict error message
                details: Conflict error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Conflict
        "500":
          content:
            application/json:
              example:
                status: 500
                message: Internal Server Error
                details: Internal Server Error occurred
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Internal Server Error
        "502":
          content:
            application/json:
              example:
                message: Bad Gateway Error Message NCMP
                dmi-response:
                  http-code: 400
                  body: Bad Request
              schema:
                $ref: '#/components/schemas/DmiErrorMessage'
          description: Bad Gateway
      summary: Delete resource data
      tags:
      - network-cm-proxy
    get:
      description: Get resource data for given cm handle
      operationId: getResourceDataForCmHandle
      parameters:
      - description: The type of the requested data
        in: path
        name: datastore-name
        required: true
        schema:
          example: ncmp-datastore:running
          type: string
      - description: "The identifier (cmHandle or alternate) for a network function,\
          \ network element, subnetwork or any other cm object by managed Network\
          \ CM Proxy"
        in: path
        name: cm-handle
        required: true
        schema:
          example: my-cm-handle-reference
          type: string
      - 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`
        examples:
          sample 1:
            value:
              resourceIdentifier: /ManagedElement=node1/GNBDUFunction=1
        in: query
        name: resourceIdentifier
        required: true
        schema:
          type: string
      - 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))`
        examples:
          Limit Depth:
            value:
              options: (depth=2)
          Select Specific Fields:
            value:
              options: (fields=attributes(gNBId;gNBDUName))
          Combine Depth and Fields:
            value:
              options: "(depth=3,fields=attributes(gNBId;gNBDUName))"
        in: query
        name: options
        required: false
        schema:
          type: string
      - description: topic parameter in query.
        examples:
          sample 1:
            value:
              topic: my-topic-name
        in: query
        name: topic
        required: false
        schema:
          type: string
      - description: Determines if descendants are included in response
        in: query
        name: include-descendants
        required: false
        schema:
          default: false
          type: boolean
      - description: Authorization parameter for request.
        in: header
        name: Authorization
        required: false
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              examples:
                dataSampleResponse:
                  $ref: '#/components/examples/dataSampleResponse'
                  value: null
              schema:
                type: object
          description: OK
        "400":
          content:
            application/json:
              example:
                status: 400
                message: Bad request error message
                details: Bad request error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Bad Request
        "403":
          content:
            application/json:
              example:
                status: 403
                message: Forbidden error message
                details: Forbidden error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Forbidden
        "500":
          content:
            application/json:
              example:
                status: 500
                message: Internal Server Error
                details: Internal Server Error occurred
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Internal Server Error
        "502":
          content:
            application/json:
              example:
                message: Bad Gateway Error Message NCMP
                dmi-response:
                  http-code: 400
                  body: Bad Request
              schema:
                $ref: '#/components/schemas/DmiErrorMessage'
          description: Bad Gateway
      summary: Get resource data for cm handle
      tags:
      - network-cm-proxy
    patch:
      description: Patch resource data from pass-through running for the given cm
        handle
      operationId: patchResourceDataRunningForCmHandle
      parameters:
      - description: The type of the requested data
        in: path
        name: datastore-name
        required: true
        schema:
          example: ncmp-datastore:running
          type: string
      - description: "The identifier (cmHandle or alternate) for a network function,\
          \ network element, subnetwork or any other cm object by managed Network\
          \ CM Proxy"
        in: path
        name: cm-handle
        required: true
        schema:
          example: my-cm-handle-reference
          type: string
      - 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`
        examples:
          sample 1:
            value:
              resourceIdentifier: /ManagedElement=node1/GNBDUFunction=1
        in: query
        name: resourceIdentifier
        required: true
        schema:
          type: string
      - description: "Content parameter for request, if content parameter is null,\
          \ default value is application/json."
        in: header
        name: Content-Type
        required: false
        schema:
          default: application/json
          example: application/yang-data+json
          type: string
      - description: Authorization parameter for request.
        in: header
        name: Authorization
        required: false
        schema:
          type: string
      requestBody:
        content:
          '*/*':
            examples:
              dataSampleRequest:
                $ref: '#/components/examples/dataSamplePatchRequest'
                value: null
            schema:
              type: object
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                type: object
          description: OK
        "400":
          content:
            application/json:
              example:
                status: 400
                message: Bad request error message
                details: Bad request error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Bad Request
        "403":
          content:
            application/json:
              example:
                status: 403
                message: Forbidden error message
                details: Forbidden error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Forbidden
        "409":
          content:
            application/json:
              example:
                status: 409
                message: Conflict error message
                details: Conflict error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Conflict
        "500":
          content:
            application/json:
              example:
                status: 500
                message: Internal Server Error
                details: Internal Server Error occurred
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Internal Server Error
        "502":
          content:
            application/json:
              example:
                message: Bad Gateway Error Message NCMP
                dmi-response:
                  http-code: 400
                  body: Bad Request
              schema:
                $ref: '#/components/schemas/DmiErrorMessage'
          description: Bad Gateway
      summary: Patch resource data from pass-through running
      tags:
      - network-cm-proxy
    post:
      description: create resource data from pass-through running for given cm handle
      operationId: createResourceDataRunningForCmHandle
      parameters:
      - description: The type of the requested data
        in: path
        name: datastore-name
        required: true
        schema:
          example: ncmp-datastore:running
          type: string
      - description: "The identifier (cmHandle or alternate) for a network function,\
          \ network element, subnetwork or any other cm object by managed Network\
          \ CM Proxy"
        in: path
        name: cm-handle
        required: true
        schema:
          example: my-cm-handle-reference
          type: string
      - 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`
        examples:
          sample 1:
            value:
              resourceIdentifier: /ManagedElement=node1/GNBDUFunction=1
        in: query
        name: resourceIdentifier
        required: true
        schema:
          type: string
      - description: "Content parameter for request, if content parameter is null,\
          \ default value is application/json."
        in: header
        name: Content-Type
        required: false
        schema:
          default: application/json
          example: application/yang-data+json
          type: string
      - description: Authorization parameter for request.
        in: header
        name: Authorization
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            examples:
              dataSampleRequest:
                $ref: '#/components/examples/dataSampleRequest'
                value: null
            schema:
              type: object
          application/yang-data+json:
            examples:
              dataSampleRequest:
                $ref: '#/components/examples/dataSampleRequest'
                value: null
            schema:
              type: object
        required: true
      responses:
        "201":
          content: {}
          description: Created
        "400":
          content:
            application/json:
              example:
                status: 400
                message: Bad request error message
                details: Bad request error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Bad Request
        "403":
          content:
            application/json:
              example:
                status: 403
                message: Forbidden error message
                details: Forbidden error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Forbidden
        "409":
          content:
            application/json:
              example:
                status: 409
                message: Conflict error message
                details: Conflict error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Conflict
        "500":
          content:
            application/json:
              example:
                status: 500
                message: Internal Server Error
                details: Internal Server Error occurred
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Internal Server Error
        "502":
          content:
            application/json:
              example:
                message: Bad Gateway Error Message NCMP
                dmi-response:
                  http-code: 400
                  body: Bad Request
              schema:
                $ref: '#/components/schemas/DmiErrorMessage'
          description: Bad Gateway
      summary: create resource data from pass-through running for cm handle
      tags:
      - network-cm-proxy
    put:
      description: Update resource data from pass-through running for the given cm
        handle
      operationId: updateResourceDataRunningForCmHandle
      parameters:
      - description: The type of the requested data
        in: path
        name: datastore-name
        required: true
        schema:
          example: ncmp-datastore:running
          type: string
      - description: "The identifier (cmHandle or alternate) for a network function,\
          \ network element, subnetwork or any other cm object by managed Network\
          \ CM Proxy"
        in: path
        name: cm-handle
        required: true
        schema:
          example: my-cm-handle-reference
          type: string
      - 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`
        examples:
          sample 1:
            value:
              resourceIdentifier: /ManagedElement=node1/GNBDUFunction=1
        in: query
        name: resourceIdentifier
        required: true
        schema:
          type: string
      - description: "Content parameter for request, if content parameter is null,\
          \ default value is application/json."
        in: header
        name: Content-Type
        required: false
        schema:
          default: application/json
          example: application/yang-data+json
          type: string
      - description: Authorization parameter for request.
        in: header
        name: Authorization
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            examples:
              dataSampleRequest:
                $ref: '#/components/examples/dataSampleRequest'
                value: null
            schema:
              type: object
          application/yang-data+json:
            examples:
              dataSampleRequest:
                $ref: '#/components/examples/dataSampleRequest'
                value: null
            schema:
              type: object
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                type: object
          description: OK
        "400":
          content:
            application/json:
              example:
                status: 400
                message: Bad request error message
                details: Bad request error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Bad Request
        "403":
          content:
            application/json:
              example:
                status: 403
                message: Forbidden error message
                details: Forbidden error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Forbidden
        "409":
          content:
            application/json:
              example:
                status: 409
                message: Conflict error message
                details: Conflict error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Conflict
        "500":
          content:
            application/json:
              example:
                status: 500
                message: Internal Server Error
                details: Internal Server Error occurred
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Internal Server Error
        "502":
          content:
            application/json:
              example:
                message: Bad Gateway Error Message NCMP
                dmi-response:
                  http-code: 400
                  body: Bad Request
              schema:
                $ref: '#/components/schemas/DmiErrorMessage'
          description: Bad Gateway
      summary: Update resource data from pass-through running for a cm handle
      tags:
      - network-cm-proxy
  /v1/data:
    post:
      description: This request will be handled asynchronously using messaging to
        the supplied topic. The rest response will be an acknowledge with a requestId
        to identify the relevant messages. A maximum of 200 cm handles per operation
        is supported.
      operationId: executeDataOperationForCmHandles
      parameters:
      - description: mandatory topic parameter in query.
        examples:
          sample 1:
            value:
              topic: my-topic-name
        in: query
        name: topic
        required: true
        schema:
          type: string
      - description: Authorization parameter for request.
        in: header
        name: Authorization
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataOperationRequest'
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                type: object
          description: OK
        "400":
          content:
            application/json:
              example:
                status: 400
                message: Bad request error message
                details: Bad request error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Bad Request
        "403":
          content:
            application/json:
              example:
                status: 403
                message: Forbidden error message
                details: Forbidden error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Forbidden
        "413":
          content:
            application/json:
              example:
                status: 413
                message: Payload Too Large error message
                details: Payload Too Large error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: The request is larger than the server is willing or able to
            process
        "500":
          content:
            application/json:
              example:
                status: 500
                message: Internal Server Error
                details: Internal Server Error occurred
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Internal Server Error
        "502":
          content:
            application/json:
              example:
                message: Bad Gateway Error Message NCMP
                dmi-response:
                  http-code: 400
                  body: Bad Request
              schema:
                $ref: '#/components/schemas/DmiErrorMessage'
          description: Bad Gateway
      summary: Execute a data operation for group of cm handle references
      tags:
      - network-cm-proxy
  /v1/ch/{cm-handle}/data/ds/{datastore-name}/query:
    get:
      description: Query resource data for a given cm handle
      operationId: queryResourceDataForCmHandle
      parameters:
      - description: The type of the requested data
        in: path
        name: datastore-name
        required: true
        schema:
          example: ncmp-datastore:running
          type: string
      - description: "The identifier for a network function, network element, subnetwork\
          \ or any other cm object by managed Network CM Proxy"
        in: path
        name: cm-handle
        required: true
        schema:
          example: my-cm-handle
          type: string
      - description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
        examples:
          container cps path:
            value: //GNBDUFunction
          list attributes cps path:
            value: "//GNBDUFunction[@id='1001']"
        in: query
        name: cps-path
        required: false
        schema:
          default: /
          type: string
      - 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))`
        examples:
          Limit Depth:
            value:
              options: (depth=2)
          Select Specific Fields:
            value:
              options: (fields=attributes(gNBId;gNBDUName))
          Combine Depth and Fields:
            value:
              options: "(depth=3,fields=attributes(gNBId;gNBDUName))"
        in: query
        name: options
        required: false
        schema:
          type: string
      - description: topic parameter in query.
        examples:
          sample 1:
            value:
              topic: my-topic-name
        in: query
        name: topic
        required: false
        schema:
          type: string
      - description: Determines if descendants are included in response
        in: query
        name: include-descendants
        required: false
        schema:
          default: false
          type: boolean
      responses:
        "200":
          content:
            application/json:
              examples:
                dataSampleResponse:
                  $ref: '#/components/examples/dataSampleResponse'
                  value: null
              schema:
                type: object
          description: OK
        "400":
          content:
            application/json:
              example:
                status: 400
                message: Bad request error message
                details: Bad request error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Bad Request
        "403":
          content:
            application/json:
              example:
                status: 403
                message: Forbidden error message
                details: Forbidden error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Forbidden
        "500":
          content:
            application/json:
              example:
                status: 500
                message: Internal Server Error
                details: Internal Server Error occurred
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Internal Server Error
        "502":
          content:
            application/json:
              example:
                message: Bad Gateway Error Message NCMP
                dmi-response:
                  http-code: 400
                  body: Bad Request
              schema:
                $ref: '#/components/schemas/DmiErrorMessage'
          description: Bad Gateway
      summary: Query resource data for a given cm handle
      tags:
      - network-cm-proxy
  /v1/ch/{cm-handle}/modules:
    get:
      description: fetch all module references (name and revision) for a given cm
        handle
      operationId: getModuleReferencesByCmHandle
      parameters:
      - description: "The identifier (cmHandle or alternate) for a network function,\
          \ network element, subnetwork or any other cm object by managed Network\
          \ CM Proxy"
        in: path
        name: cm-handle
        required: true
        schema:
          example: my-cm-handle-reference
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/RestModuleReference'
                type: array
          description: OK
        "400":
          content:
            application/json:
              example:
                status: 400
                message: Bad request error message
                details: Bad request error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Bad Request
        "403":
          content:
            application/json:
              example:
                status: 403
                message: Forbidden error message
                details: Forbidden error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Forbidden
        "500":
          content:
            application/json:
              example:
                status: 500
                message: Internal Server Error
                details: Internal Server Error occurred
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Internal Server Error
      summary: Fetch all module references (name and revision) for a given cm handle
      tags:
      - network-cm-proxy
  /v1/ch/{cm-handle}/modules/definitions:
    get:
      description: "Get module definitions (module name, revision, yang resource)\
        \ with options to filter on module name and revision"
      operationId: getModuleDefinitions
      parameters:
      - description: "The identifier (cmHandle or alternate) for a network function,\
          \ network element, subnetwork or any other cm object by managed Network\
          \ CM Proxy"
        in: path
        name: cm-handle
        required: true
        schema:
          example: my-cm-handle-reference
          type: string
      - description: Filter for a module name.This is an optional parameter
        in: query
        name: module-name
        required: false
        schema:
          example: my-module
          type: string
      - description: Filter for a module revision.This is an optional parameter and
          ignored when no module name is supplied
        in: query
        name: revision
        required: false
        schema:
          example: 2024-01-22
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/RestModuleDefinition'
                type: array
          description: OK
        "403":
          content:
            application/json:
              example:
                status: 403
                message: Forbidden error message
                details: Forbidden error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Forbidden
        "500":
          content:
            application/json:
              example:
                status: 500
                message: Internal Server Error
                details: Internal Server Error occurred
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Internal Server Error
      summary: Get module definitions
      tags:
      - network-cm-proxy
  /v1/ch/searches:
    post:
      description: Execute cm handle query search and return a list of cm handle details.
        Any number of conditions can be applied. To be included in the result a cm-handle
        must fulfill ALL the conditions. An empty collection will be returned in the
        case that the cm handle does not match a condition. For more on cm handle
        query search please refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/ncmp-cmhandle-querying.html">cm
        handle query search Read the Docs</a>.<br/>By supplying a CPS Path it is possible
        to query on any data related to the cm handle. For more on CPS Path please
        refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html">CPS
        Path Read the Docs</a>. The cm handle ancestor is automatically returned for
        this query.
      operationId: searchCmHandles
      requestBody:
        content:
          application/json:
            examples:
              Cm handle properties query:
                $ref: '#/components/examples/pubPropCmHandleQueryParameters'
                value: null
              Cm handle modules query:
                $ref: '#/components/examples/modulesCmHandleQueryParameters'
                value: null
              All cm handle query parameters:
                $ref: '#/components/examples/allCmHandleQueryParameters'
                value: null
              Cm handle with CPS path state query:
                $ref: '#/components/examples/cpsPathCmHandleStateQueryParameters'
                value: null
              Cm handle with data sync flag query:
                $ref: '#/components/examples/cpsPathCmHandleDataSyncQueryParameters'
                value: null
            schema:
              $ref: '#/components/schemas/CmHandleQueryParameters'
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/RestOutputCmHandle'
                type: array
          description: OK
        "400":
          content:
            application/json:
              example:
                status: 400
                message: Bad request error message
                details: Bad request error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Bad Request
        "403":
          content:
            application/json:
              example:
                status: 403
                message: Forbidden error message
                details: Forbidden error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Forbidden
        "500":
          content:
            application/json:
              example:
                status: 500
                message: Internal Server Error
                details: Internal Server Error occurred
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Internal Server Error
      summary: Execute cm handle search using the available conditions
      tags:
      - network-cm-proxy
  /v1/ch/{cm-handle}:
    get:
      description: Retrieve CM handle details and properties by cm handle id
      operationId: retrieveCmHandleDetailsById
      parameters:
      - description: "The identifier (cmHandle or alternate) for a network function,\
          \ network element, subnetwork or any other cm object by managed Network\
          \ CM Proxy"
        in: path
        name: cm-handle
        required: true
        schema:
          example: my-cm-handle-reference
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestOutputCmHandle'
          description: OK
        "400":
          content:
            application/json:
              example:
                status: 400
                message: Bad request error message
                details: Bad request error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Bad Request
        "404":
          content:
            application/json:
              example:
                status: 400
                message: Not found error message
                details: Not found error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: The specified resource was not found
        "500":
          content:
            application/json:
              example:
                status: 500
                message: Internal Server Error
                details: Internal Server Error occurred
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Internal Server Error
      summary: Retrieve CM handle details
      tags:
      - network-cm-proxy
  /v1/ch/{cm-handle}/properties:
    get:
      description: Get CM handle properties by cm handle id
      operationId: getCmHandlePublicPropertiesByCmHandleId
      parameters:
      - description: "The identifier (cmHandle or alternate) for a network function,\
          \ network element, subnetwork or any other cm object by managed Network\
          \ CM Proxy"
        in: path
        name: cm-handle
        required: true
        schema:
          example: my-cm-handle-reference
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestOutputCmHandlePublicProperties'
          description: OK
        "400":
          content:
            application/json:
              example:
                status: 400
                message: Bad request error message
                details: Bad request error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Bad Request
        "404":
          content:
            application/json:
              example:
                status: 400
                message: Not found error message
                details: Not found error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: The specified resource was not found
        "500":
          content:
            application/json:
              example:
                status: 500
                message: Internal Server Error
                details: Internal Server Error occurred
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Internal Server Error
      summary: Get CM handle properties
      tags:
      - network-cm-proxy
  /v1/ch/id-searches:
    post:
      description: Execute cm handle query search and return a list of cm handle references.
        Any number of conditions can be applied. To be included in the result a cm
        handle must fulfill ALL the conditions. An empty collection will be returned
        in the case that the cm handle does not match a condition. For more on cm
        handle query search please refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/ncmp-cmhandle-querying.html">cm
        handle query search Read the Docs</a>.<br/>By supplying a CPS Path it is possible
        to query on any data related to the cm handle. For more on CPS Path please
        refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html">CPS
        Path Read the Docs</a>. The cm handle ancestor is automatically returned for
        this query.
      operationId: searchCmHandleIds
      parameters:
      - description: Boolean parameter to determine if returned value(s) will be cm
          handle ids or alternate ids for a given query
        in: query
        name: outputAlternateId
        required: false
        schema:
          default: false
          type: boolean
      requestBody:
        content:
          application/json:
            examples:
              Cm handle properties query:
                $ref: '#/components/examples/pubPropCmHandleQueryParameters'
                value: null
              Cm handle modules query:
                $ref: '#/components/examples/modulesCmHandleQueryParameters'
                value: null
              All cm handle query parameters:
                $ref: '#/components/examples/allCmHandleQueryParameters'
                value: null
              Cm handle with CPS path state query:
                $ref: '#/components/examples/cpsPathCmHandleStateQueryParameters'
                value: null
              Cm handle with data sync flag query:
                $ref: '#/components/examples/cpsPathCmHandleDataSyncQueryParameters'
                value: null
            schema:
              $ref: '#/components/schemas/CmHandleQueryParameters'
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  type: string
                type: array
          description: OK
        "400":
          content:
            application/json:
              example:
                status: 400
                message: Bad request error message
                details: Bad request error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Bad Request
        "403":
          content:
            application/json:
              example:
                status: 403
                message: Forbidden error message
                details: Forbidden error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Forbidden
        "404":
          content:
            application/json:
              example:
                status: 400
                message: Not found error message
                details: Not found error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: The specified resource was not found
        "500":
          content:
            application/json:
              example:
                status: 500
                message: Internal Server Error
                details: Internal Server Error occurred
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Internal Server Error
      summary: Execute cm handle query upon a given set of query parameters
      tags:
      - network-cm-proxy
  /v1/ch/{cm-handle}/state:
    get:
      description: Get CM handle state by cm handle id
      operationId: getCmHandleStateByCmHandleId
      parameters:
      - description: "The identifier (cmHandle or alternate) for a network function,\
          \ network element, subnetwork or any other cm object by managed Network\
          \ CM Proxy"
        in: path
        name: cm-handle
        required: true
        schema:
          example: my-cm-handle-reference
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestOutputCmHandleCompositeState'
          description: OK
        "400":
          content:
            application/json:
              example:
                status: 400
                message: Bad request error message
                details: Bad request error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Bad Request
        "404":
          content:
            application/json:
              example:
                status: 400
                message: Not found error message
                details: Not found error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: The specified resource was not found
        "500":
          content:
            application/json:
              example:
                status: 500
                message: Internal Server Error
                details: Internal Server Error occurred
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Internal Server Error
      summary: Get CM handle state
      tags:
      - network-cm-proxy
  /v1/ch/{cm-handle}/data-sync:
    put:
      description: Set the data sync enabled flag to true or false for a specified
        Cm-Handle. This will in turn set the data sync state to UNSYNCHRONIZED and
        NONE_REQUESTED respectfully.
      operationId: setDataSyncEnabledFlagForCmHandle
      parameters:
      - description: "The identifier for a network function, network element, subnetwork\
          \ or any other cm object by managed Network CM Proxy"
        in: path
        name: cm-handle
        required: true
        schema:
          example: my-cm-handle
          type: string
      - description: Is used to enable or disable the data synchronization flag
        in: query
        name: dataSyncEnabled
        required: true
        schema:
          example: true
          type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                type: object
          description: OK
        "400":
          content:
            application/json:
              example:
                status: 400
                message: Bad request error message
                details: Bad request error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Bad Request
        "403":
          content:
            application/json:
              example:
                status: 403
                message: Forbidden error message
                details: Forbidden error details
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Forbidden
        "500":
          content:
            application/json:
              example:
                status: 500
                message: Internal Server Error
                details: Internal Server Error occurred
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: Internal Server Error
        "502":
          content:
            application/json:
              example:
                message: Bad Gateway Error Message NCMP
                dmi-response:
                  http-code: 400
                  body: Bad Request
              schema:
                $ref: '#/components/schemas/DmiErrorMessage'
          description: Bad Gateway
      summary: Set the Data Sync Enabled Flag
      tags:
      - network-cm-proxy
components:
  examples:
    dataSampleResponse:
      description: Sample response with GNBDUFunction configuration
      summary: Sample response
      value:
        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
    dataSampleRequest:
      description: Sample request body for GNBDUFunction configuration
      summary: Sample request
      value:
        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:
      description: Sample patch request to modify GNBDUFunction
      summary: Sample patch request
      value:
        ietf-restconf:yang-patch:
          patch-id: patch-1
          edit:
          - edit-id: edit1
            operation: replace
            target: /gnbdu3gpp:GNBDUFunction
            value:
              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: /gnbdu3gpp:GNBDUFunction
            value:
              gnbdu3gpp:GNBDUFunction:
                configurable5QISetRef: /5QISet-001
                dynamic5QISetRef: /Dynamic5QISet-001
    pubPropCmHandleQueryParameters:
      value:
        cmHandleQueryParameters:
        - conditionName: hasAllProperties
          conditionParameters:
          - Color: yellow
          - Shape: circle
          - Size: small
    modulesCmHandleQueryParameters:
      value:
        cmHandleQueryParameters:
        - conditionName: hasAllModules
          conditionParameters:
          - moduleName: my-module-1
          - moduleName: my-module-2
          - moduleName: my-module-3
    allCmHandleQueryParameters:
      value:
        cmHandleQueryParameters:
        - conditionName: hasAllModules
          conditionParameters:
          - moduleName: my-module-1
          - moduleName: my-module-2
          - moduleName: my-module-3
        - conditionName: hasAllProperties
          conditionParameters:
          - Color: yellow
          - Shape: circle
          - Size: small
        - conditionName: cmHandleWithCpsPath
          conditionParameters:
          - cpsPath: "//state[@cm-handle-state='ADVISED']"
    cpsPathCmHandleStateQueryParameters:
      value:
        cmHandleQueryParameters:
        - conditionName: cmHandleWithCpsPath
          conditionParameters:
          - cpsPath: "//state[@cm-handle-state='LOCKED']"
    cpsPathCmHandleDataSyncQueryParameters:
      value:
        cmHandleQueryParameters:
        - conditionName: cmHandleWithCpsPath
          conditionParameters:
          - cpsPath: "//state[@data-sync-enabled='true']"
  parameters:
    datastoreName:
      description: The type of the requested data
      in: path
      name: datastore-name
      required: true
      schema:
        example: ncmp-datastore:running
        type: string
    cmHandleReferenceInPath:
      description: "The identifier (cmHandle or alternate) for a network function,\
        \ network element, subnetwork or any other cm object by managed Network CM\
        \ Proxy"
      in: path
      name: cm-handle
      required: true
      schema:
        example: my-cm-handle-reference
        type: string
    resourceIdentifierInQuery:
      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`
      examples:
        sample 1:
          value:
            resourceIdentifier: /ManagedElement=node1/GNBDUFunction=1
      in: query
      name: resourceIdentifier
      required: true
      schema:
        type: string
    optionsParamInQuery:
      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))`
      examples:
        Limit Depth:
          value:
            options: (depth=2)
        Select Specific Fields:
          value:
            options: (fields=attributes(gNBId;gNBDUName))
        Combine Depth and Fields:
          value:
            options: "(depth=3,fields=attributes(gNBId;gNBDUName))"
      in: query
      name: options
      required: false
      schema:
        type: string
    topicParamInQuery:
      description: topic parameter in query.
      examples:
        sample 1:
          value:
            topic: my-topic-name
      in: query
      name: topic
      required: false
      schema:
        type: string
    includeDescendantsOptionInQuery:
      description: Determines if descendants are included in response
      in: query
      name: include-descendants
      required: false
      schema:
        default: false
        type: boolean
    authorizationParamInHeader:
      description: Authorization parameter for request.
      in: header
      name: Authorization
      required: false
      schema:
        type: string
    contentParamInHeader:
      description: "Content parameter for request, if content parameter is null, default\
        \ value is application/json."
      in: header
      name: Content-Type
      required: false
      schema:
        default: application/json
        example: application/yang-data+json
        type: string
    requiredTopicParamInQuery:
      description: mandatory topic parameter in query.
      examples:
        sample 1:
          value:
            topic: my-topic-name
      in: query
      name: topic
      required: true
      schema:
        type: string
    cmHandleInPath:
      description: "The identifier for a network function, network element, subnetwork\
        \ or any other cm object by managed Network CM Proxy"
      in: path
      name: cm-handle
      required: true
      schema:
        example: my-cm-handle
        type: string
    cpsPathInQuery:
      description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
      examples:
        container cps path:
          value: //GNBDUFunction
        list attributes cps path:
          value: "//GNBDUFunction[@id='1001']"
      in: query
      name: cps-path
      required: false
      schema:
        default: /
        type: string
    moduleNameInQuery:
      description: Filter for a module name.This is an optional parameter
      in: query
      name: module-name
      required: false
      schema:
        example: my-module
        type: string
    revisionInQuery:
      description: Filter for a module revision.This is an optional parameter and
        ignored when no module name is supplied
      in: query
      name: revision
      required: false
      schema:
        example: 2024-01-22
        type: string
    outputAlternateIdOptionInQuery:
      description: Boolean parameter to determine if returned value(s) will be cm
        handle ids or alternate ids for a given query
      in: query
      name: outputAlternateId
      required: false
      schema:
        default: false
        type: boolean
    dataSyncEnabled:
      description: Is used to enable or disable the data synchronization flag
      in: query
      name: dataSyncEnabled
      required: true
      schema:
        example: true
        type: boolean
  responses:
    BadRequest:
      content:
        application/json:
          example:
            status: 400
            message: Bad request error message
            details: Bad request error details
          schema:
            $ref: '#/components/schemas/ErrorMessage'
      description: Bad Request
    Forbidden:
      content:
        application/json:
          example:
            status: 403
            message: Forbidden error message
            details: Forbidden error details
          schema:
            $ref: '#/components/schemas/ErrorMessage'
      description: Forbidden
    InternalServerError:
      content:
        application/json:
          example:
            status: 500
            message: Internal Server Error
            details: Internal Server Error occurred
          schema:
            $ref: '#/components/schemas/ErrorMessage'
      description: Internal Server Error
    BadGateway:
      content:
        application/json:
          example:
            message: Bad Gateway Error Message NCMP
            dmi-response:
              http-code: 400
              body: Bad Request
          schema:
            $ref: '#/components/schemas/DmiErrorMessage'
      description: Bad Gateway
    Ok:
      content:
        application/json:
          schema:
            type: object
      description: OK
    Conflict:
      content:
        application/json:
          example:
            status: 409
            message: Conflict error message
            details: Conflict error details
          schema:
            $ref: '#/components/schemas/ErrorMessage'
      description: Conflict
    Created:
      content: {}
      description: Created
    NoContent:
      content: {}
      description: No Content
    NotFound:
      content:
        application/json:
          example:
            status: 400
            message: Not found error message
            details: Not found error details
          schema:
            $ref: '#/components/schemas/ErrorMessage'
      description: The specified resource was not found
    PayloadTooLarge:
      content:
        application/json:
          example:
            status: 413
            message: Payload Too Large error message
            details: Payload Too Large error details
          schema:
            $ref: '#/components/schemas/ErrorMessage'
      description: The request is larger than the server is willing or able to process
  schemas:
    ErrorMessage:
      properties:
        status:
          type: string
        message:
          type: string
        details:
          type: string
      title: Error
      type: object
    DmiErrorMessage:
      properties:
        message:
          example: Bad Gateway Error Message NCMP
          type: string
        dmi-response:
          $ref: '#/components/schemas/DmiErrorMessage_dmi_response'
      title: DMI Error Message
      type: object
    DataOperationRequest:
      example:
        operations:
        - resourceIdentifier: /ManagedElement=NRNode1/GNBDUFunction=1
          targetIds:
          - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
            ]"
          - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
            ]"
          datastore: ncmp-datastore:passthrough-operational
          options: (fields=NRCellDU/attributes/cellLocalId)
          operationId: "12"
          operation: read
        - resourceIdentifier: /ManagedElement=NRNode1/GNBDUFunction=1
          targetIds:
          - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
            ]"
          - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
            ]"
          datastore: ncmp-datastore:passthrough-operational
          options: (fields=NRCellDU/attributes/cellLocalId)
          operationId: "12"
          operation: read
      properties:
        operations:
          description: contains group of data operation requests
          items:
            $ref: '#/components/schemas/DataOperationDefinition'
          type: array
      title: execute data operation for given array of operations
      type: object
    DataOperationDefinition:
      example:
        resourceIdentifier: /ManagedElement=NRNode1/GNBDUFunction=1
        targetIds:
        - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
          ]"
        - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
          ]"
        datastore: ncmp-datastore:passthrough-operational
        options: (fields=NRCellDU/attributes/cellLocalId)
        operationId: "12"
        operation: read
      properties:
        operation:
          example: read
          type: string
        operationId:
          example: "12"
          type: string
        datastore:
          example: ncmp-datastore:passthrough-operational
          type: string
        options:
          example: (fields=NRCellDU/attributes/cellLocalId)
          type: string
        resourceIdentifier:
          example: /ManagedElement=NRNode1/GNBDUFunction=1
          type: string
        targetIds:
          items:
            description: "targeted cm handle references, maximum of 200 supported.\
              \ If this limit is exceeded the request will be refused."
            example: "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
              ]"
            type: string
          type: array
      required:
      - datastore
      - operation
      - operationId
    RestModuleReference:
      example:
        moduleName: my-module-name
        revision: my-module-revision
      properties:
        moduleName:
          example: my-module-name
          type: string
        revision:
          example: my-module-revision
          type: string
      title: Module reference details
      type: object
    RestModuleDefinition:
      example:
        moduleName: my-module-name
        content: "module _3gpp-nr-nrm-gnbdufunction {\n  yang-version 1.1;\n  namespace\
          \ 'urn:3gpp:sa5:_3gpp-nr-nrm-gnbdufunction';\n  prefix gnbdu3gpp;\n  revision\
          \ '2020-09-15' {\n    description\n    'Defines the YANG mapping of the\
          \ GNBDUFunction Information \n     Object Class (IOC) that is part of the\
          \ NR Network Resource Model (NRM). \n     Copyright 2024, 3GPP Organizational\
          \ Partners (ARIB, ATIS, CCSA, ETSI, TSDSI,\n     TTA, TTC). All rights reserved.';\n\
          \  }\n}\n"
        revision: 2020-09-15
      properties:
        moduleName:
          example: my-module-name
          type: string
        revision:
          example: 2020-09-15
          type: string
        content:
          example: "module _3gpp-nr-nrm-gnbdufunction {\n  yang-version 1.1;\n  namespace\
            \ 'urn:3gpp:sa5:_3gpp-nr-nrm-gnbdufunction';\n  prefix gnbdu3gpp;\n  revision\
            \ '2020-09-15' {\n    description\n    'Defines the YANG mapping of the\
            \ GNBDUFunction Information \n     Object Class (IOC) that is part of\
            \ the NR Network Resource Model (NRM). \n     Copyright 2024, 3GPP Organizational\
            \ Partners (ARIB, ATIS, CCSA, ETSI, TSDSI,\n     TTA, TTC). All rights\
            \ reserved.';\n  }\n}\n"
          type: string
      title: Module definitions
      type: object
    CmHandleQueryParameters:
      example:
        cmHandleQueryParameters:
        - conditionParameters:
          - key: conditionParameters
          - key: conditionParameters
          conditionName: conditionName
        - conditionParameters:
          - key: conditionParameters
          - key: conditionParameters
          conditionName: conditionName
        conditions:
        - name: name
          conditionParameters:
          - moduleName: my-module
          - moduleName: my-module
        - name: name
          conditionParameters:
          - moduleName: my-module
          - moduleName: my-module
      properties:
        cmHandleQueryParameters:
          items:
            $ref: '#/components/schemas/ConditionProperties'
          type: array
        conditions:
          deprecated: true
          description: "not necessary, it is just for backward compatibility"
          items:
            $ref: '#/components/schemas/OldConditionProperties'
          type: array
      title: Cm Handle query parameters for executing cm handle search
      type: object
    ConditionProperties:
      example:
        conditionParameters:
        - key: conditionParameters
        - key: conditionParameters
        conditionName: conditionName
      properties:
        conditionName:
          type: string
        conditionParameters:
          items:
            additionalProperties:
              type: string
            type: object
          type: array
    OldConditionProperties:
      deprecated: true
      example:
        name: name
        conditionParameters:
        - moduleName: my-module
        - moduleName: my-module
      properties:
        name:
          type: string
        conditionParameters:
          items:
            $ref: '#/components/schemas/ModuleNameAsJsonObject'
          type: array
    ModuleNameAsJsonObject:
      example:
        moduleName: my-module
      properties:
        moduleName:
          example: my-module
          type: string
    RestOutputCmHandle:
      example:
        cmHandle: my-cm-handle1
        alternateId: "Subnetwork=Europe,ManagedElement=X123"
        dataProducerIdentifier: my-data-producer-identifier
        publicCmHandleProperties:
        - key: 3gpp Type
        - key: 3gpp Type
        state:
          dataSyncEnabled: false
          dataSyncState:
            running:
              lastSyncTime: 2022-12-31T20:30:40.000+0000
              syncState: NONE_REQUESTED
            operational:
              lastSyncTime: 2022-12-31T20:30:40.000+0000
              syncState: NONE_REQUESTED
          cmHandleState: ADVISED
          lockReason:
            reason: LOCKED_MISBEHAVING
            details: locked due to failure in module sync
          lastUpdateTime: 2022-12-31T20:30:40.000+0000
        trustLevel: COMPLETE
        moduleSetTag: my-module-set-tag
      properties:
        cmHandle:
          example: my-cm-handle1
          type: string
        publicCmHandleProperties:
          items:
            additionalProperties:
              example: 3gpp Type
              type: string
            type: object
          type: array
        state:
          $ref: '#/components/schemas/CmHandleCompositeState'
        trustLevel:
          description: Current trust level of the relevant CM handle ID.
          example: COMPLETE
          type: string
        moduleSetTag:
          example: my-module-set-tag
          type: string
        alternateId:
          example: "Subnetwork=Europe,ManagedElement=X123"
          type: string
        dataProducerIdentifier:
          example: my-data-producer-identifier
          type: string
      title: CM handle Details
      type: object
    CmHandlePublicProperties:
      items:
        additionalProperties:
          example: 3gpp Type
          type: string
        type: object
      type: array
    CmHandleCompositeState:
      example:
        dataSyncEnabled: false
        dataSyncState:
          running:
            lastSyncTime: 2022-12-31T20:30:40.000+0000
            syncState: NONE_REQUESTED
          operational:
            lastSyncTime: 2022-12-31T20:30:40.000+0000
            syncState: NONE_REQUESTED
        cmHandleState: ADVISED
        lockReason:
          reason: LOCKED_MISBEHAVING
          details: locked due to failure in module sync
        lastUpdateTime: 2022-12-31T20:30:40.000+0000
      properties:
        cmHandleState:
          example: ADVISED
          type: string
        lockReason:
          $ref: '#/components/schemas/lock-reason'
        lastUpdateTime:
          example: 2022-12-31T20:30:40.000+0000
          type: string
        dataSyncEnabled:
          example: false
          type: boolean
        dataSyncState:
          $ref: '#/components/schemas/dataStores'
      type: object
    lock-reason:
      example:
        reason: LOCKED_MISBEHAVING
        details: locked due to failure in module sync
      properties:
        reason:
          example: LOCKED_MISBEHAVING
          type: string
        details:
          example: locked due to failure in module sync
          type: string
      type: object
    dataStores:
      example:
        running:
          lastSyncTime: 2022-12-31T20:30:40.000+0000
          syncState: NONE_REQUESTED
        operational:
          lastSyncTime: 2022-12-31T20:30:40.000+0000
          syncState: NONE_REQUESTED
      properties:
        operational:
          $ref: '#/components/schemas/sync-state'
        running:
          $ref: '#/components/schemas/sync-state'
      type: object
    sync-state:
      example:
        lastSyncTime: 2022-12-31T20:30:40.000+0000
        syncState: NONE_REQUESTED
      properties:
        syncState:
          example: NONE_REQUESTED
          type: string
        lastSyncTime:
          example: 2022-12-31T20:30:40.000+0000
          type: string
      type: object
    CmHandleTrustLevel:
      description: Current trust level of the relevant CM handle ID.
      example: COMPLETE
      type: string
    RestOutputCmHandlePublicProperties:
      example:
        publicCmHandleProperties:
        - key: 3gpp Type
        - key: 3gpp Type
      properties:
        publicCmHandleProperties:
          items:
            additionalProperties:
              example: 3gpp Type
              type: string
            type: object
          type: array
      type: object
    RestOutputCmHandleCompositeState:
      example:
        state:
          dataSyncEnabled: false
          dataSyncState:
            running:
              lastSyncTime: 2022-12-31T20:30:40.000+0000
              syncState: NONE_REQUESTED
            operational:
              lastSyncTime: 2022-12-31T20:30:40.000+0000
              syncState: NONE_REQUESTED
          cmHandleState: ADVISED
          lockReason:
            reason: LOCKED_MISBEHAVING
            details: locked due to failure in module sync
          lastUpdateTime: 2022-12-31T20:30:40.000+0000
      properties:
        state:
          $ref: '#/components/schemas/CmHandleCompositeState'
      type: object
    DmiErrorMessage_dmi_response:
      properties:
        http-code:
          example: 400
          type: integer
        body:
          example: Bad Request
          type: string
      type: object
