#  ============LICENSE_START=======================================================
#  Copyright (C) 2021 Nordix Foundation
#  Modifications Copyright (C) 2021 Pantheon.tech
#  ================================================================================
#  Licensed under the Apache License, Version 2.0 (the "License");
#  you may not use this file except in compliance with the License.
#  You may obtain a copy of the License at
#
#        http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.
#
#  SPDX-License-Identifier: Apache-2.0
#  ============LICENSE_END=========================================================

nodeByCmHandleAndXpath:
  get:
    description: Get a node with an option to retrieve all the children for a given cm Handle
    deprecated: true
    tags:
      - network-cm-proxy
    summary: Get a node given a cm Handle and xpath
    operationId: getNodeByCmHandleAndXpath
    parameters:
      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
      - $ref: 'components.yaml#/components/parameters/xpathInQuery'
      - $ref: 'components.yaml#/components/parameters/includeDescendantsOptionInQuery'
    responses:
      200:
        $ref: 'components.yaml#/components/responses/Ok'
      400:
        $ref: 'components.yaml#/components/responses/BadRequest'
      401:
        $ref: 'components.yaml#/components/responses/Unauthorized'
      403:
        $ref: 'components.yaml#/components/responses/Forbidden'
      404:
        $ref: 'components.yaml#/components/responses/NotFound'

nodesByCmHandleAndCpsPath:
  get:
    description: Query nodes for the given cps path and cm Handle
    deprecated: true
    tags:
      - network-cm-proxy
    summary: Query data nodes
    operationId: queryNodesByCmHandleAndCpsPath
    parameters:
      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
      - $ref: 'components.yaml#/components/parameters/cpsPathInQuery'
      - $ref: 'components.yaml#/components/parameters/includeDescendantsOptionInQuery'
    responses:
      200:
        $ref: 'components.yaml#/components/responses/Ok'
      400:
        $ref: 'components.yaml#/components/responses/BadRequest'
      401:
        $ref: 'components.yaml#/components/responses/Unauthorized'
      403:
        $ref: 'components.yaml#/components/responses/Forbidden'
      404:
        $ref: 'components.yaml#/components/responses/NotFound'

nodesByCmHandleAndXpath:
  post:
    description: Create a node with descendants for the given CM Handle; top level or under existing node (requires xpath)
    deprecated: true
    tags:
      - network-cm-proxy
    summary: Create a node with descendants
    operationId: createNode
    parameters:
      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
      - $ref: 'components.yaml#/components/parameters/xpathInQuery'
    requestBody:
      required: true
      content:
        application/json:
          schema:
            type: string
    responses:
      201:
        $ref: 'components.yaml#/components/responses/Created'
      400:
        $ref: 'components.yaml#/components/responses/BadRequest'
      401:
        $ref: 'components.yaml#/components/responses/Unauthorized'
      403:
        $ref: 'components.yaml#/components/responses/Forbidden'
      404:
        $ref: 'components.yaml#/components/responses/NotFound'

  patch:
    description: Update node leaves for the given cps path and cm Handle
    deprecated: true
    tags:
      - network-cm-proxy
    summary: Update node leaves
    operationId: updateNodeLeaves
    parameters:
      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
      - $ref: 'components.yaml#/components/parameters/xpathInQuery'
    requestBody:
      required: true
      content:
        application/json:
          schema:
            type: string
    responses:
      200:
        $ref: 'components.yaml#/components/responses/Ok'
      400:
        $ref: 'components.yaml#/components/responses/BadRequest'
      401:
        $ref: 'components.yaml#/components/responses/Unauthorized'
      403:
        $ref: 'components.yaml#/components/responses/Forbidden'
      404:
        $ref: 'components.yaml#/components/responses/NotFound'

  put:
    description: Replace a node with descendants for the given cps path and cm Handle
    deprecated: true
    tags:
      - network-cm-proxy
    summary: Replace a node with descendants
    operationId: replaceNode
    parameters:
      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
      - $ref: 'components.yaml#/components/parameters/xpathInQuery'
    requestBody:
      required: true
      content:
        application/json:
          schema:
            type: string
    responses:
      200:
        $ref: 'components.yaml#/components/responses/Ok'
      400:
        $ref: 'components.yaml#/components/responses/BadRequest'
      401:
        $ref: 'components.yaml#/components/responses/Unauthorized'
      403:
        $ref: 'components.yaml#/components/responses/Forbidden'
      404:
        $ref: 'components.yaml#/components/responses/NotFound'

listNodeByCmHandleAndXpath:
  post:
    description: Add one or more list-node child elements under existing node for the given CM Handle
    deprecated: true
    tags:
      - network-cm-proxy
    summary: Add list-node child element(s)
    operationId: addListNodeElements
    parameters:
      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
      - $ref: 'components.yaml#/components/parameters/requiredXpathInQuery'
    requestBody:
      required: true
      content:
        application/json:
          schema:
            type: string
    responses:
      201:
        $ref: 'components.yaml#/components/responses/Created'
      400:
        $ref: 'components.yaml#/components/responses/BadRequest'
      401:
        $ref: 'components.yaml#/components/responses/Unauthorized'
      403:
        $ref: 'components.yaml#/components/responses/Forbidden'
      404:
        $ref: 'components.yaml#/components/responses/NotFound'

updateDmiRegistration:
  post:
    description: Register a DMI Plugin with any new, updated or removed CM Handles.
    tags:
      - network-cm-proxy
    summary: DMI notifies NCMP of new CM Handles
    operationId: updateDmiPluginRegistration
    requestBody:
      required: true
      content:
        application/json:
          schema:
            $ref: 'components.yaml#/components/schemas/RestDmiPluginRegistration'
    responses:
      201:
        $ref: 'components.yaml#/components/responses/Created'
      400:
        $ref: 'components.yaml#/components/responses/BadRequest'
      401:
        $ref: 'components.yaml#/components/responses/Unauthorized'
      403:
        $ref: 'components.yaml#/components/responses/Forbidden'

getResourceDataForPassthroughOperational:
  get:
    tags:
      - network-cm-proxy
    summary: Get resource data from pass-through operational for cm handle
    description: Get resource data from pass-through operational for given cm handle
    operationId: getResourceDataOperationalForCmHandle
    parameters:
      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
      - $ref: 'components.yaml#/components/parameters/resourceIdentifierInPath'
      - $ref: 'components.yaml#/components/parameters/acceptParamInHeader'
      - $ref: 'components.yaml#/components/parameters/fieldsParamInQuery'
      - $ref: 'components.yaml#/components/parameters/depthParamInQuery'
    responses:
      200:
        $ref: 'components.yaml#/components/responses/Ok'
      400:
        $ref: 'components.yaml#/components/responses/BadRequest'
      401:
        $ref: 'components.yaml#/components/responses/Unauthorized'
      403:
        $ref: 'components.yaml#/components/responses/Forbidden'
      404:
        $ref: 'components.yaml#/components/responses/NotFound'

resourceDataForPassthroughRunning:
  get:
    tags:
      - network-cm-proxy
    summary: Get resource data from pass-through running for cm handle
    description: Get resource data from pass-through running for given cm handle
    operationId: getResourceDataRunningForCmHandle
    parameters:
      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
      - $ref: 'components.yaml#/components/parameters/resourceIdentifierInPath'
      - $ref: 'components.yaml#/components/parameters/acceptParamInHeader'
      - $ref: 'components.yaml#/components/parameters/fieldsParamInQuery'
      - $ref: 'components.yaml#/components/parameters/depthParamInQuery'
    responses:
      200:
        $ref: 'components.yaml#/components/responses/Ok'
      400:
        $ref: 'components.yaml#/components/responses/BadRequest'
      401:
        $ref: 'components.yaml#/components/responses/Unauthorized'
      403:
        $ref: 'components.yaml#/components/responses/Forbidden'
      404:
        $ref: 'components.yaml#/components/responses/NotFound'
  post:
    tags:
      - network-cm-proxy
    summary: create resource data from pass-through running for cm handle
    description: create resource data from pass-through running for given cm handle
    operationId: createResourceDataRunningForCmHandle
    parameters:
      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
      - $ref: 'components.yaml#/components/parameters/resourceIdentifierInPath'
      - $ref: 'components.yaml#/components/parameters/contentParamInHeader'
    requestBody:
      required: true
      content:
        application/json:
          schema:
            type: object
        application/yang-data+json:
          schema:
            type: object
    responses:
      201:
        $ref: 'components.yaml#/components/responses/Created'
      400:
        $ref: 'components.yaml#/components/responses/BadRequest'
      401:
        $ref: 'components.yaml#/components/responses/Unauthorized'
      403:
        $ref: 'components.yaml#/components/responses/Forbidden'
      404:
        $ref: 'components.yaml#/components/responses/NotFound'

fetchModuleReferencesByCmHandle:
  get:
    description: fetch all module references (name and revision) for a given cm handle
    tags:
      - network-cm-proxy
    summary: Fetch all module references (name and revision) for a given cm handle
    operationId: getModuleReferencesByCmHandle
    parameters:
      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
    responses:
      200:
        description: OK
        content:
          application/json:
            schema:
              type: string
            example: [{"moduleName": "nc-notifications", "revision": "2008-07-14"}]
        $ref: 'components.yaml#/components/responses/Ok'
      400:
        $ref: 'components.yaml#/components/responses/BadRequest'
      401:
        $ref: 'components.yaml#/components/responses/Unauthorized'
      403:
        $ref: 'components.yaml#/components/responses/Forbidden'
      404:
        $ref: 'components.yaml#/components/responses/NotFound'