#  ============LICENSE_START=======================================================
#  Copyright (C) 2021-2022 Nordix Foundation
#  Modifications Copyright (C) 2021 Pantheon.tech
#  Modifications Copyright (C) 2021-2022 Bell Canada
#  ================================================================================
#  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=========================================================
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/resourceIdentifierInQuery'
      - $ref: 'components.yaml#/components/parameters/optionsParamInQuery'
      - $ref: 'components.yaml#/components/parameters/topicParamInQuery'
    responses:
      200:
        description: OK
        content:
          application/json:
            schema:
              type: object
            examples:
              dataSampleResponse:
                $ref: 'components.yaml#/components/examples/dataSampleResponse'
      400:
        $ref: 'components.yaml#/components/responses/BadRequest'
      401:
        $ref: 'components.yaml#/components/responses/Unauthorized'
      403:
        $ref: 'components.yaml#/components/responses/Forbidden'
      500:
        $ref: 'components.yaml#/components/responses/InternalServerError'
      502:
        $ref: 'components.yaml#/components/responses/BadGateway'

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/resourceIdentifierInQuery'
      - $ref: 'components.yaml#/components/parameters/optionsParamInQuery'
      - $ref: 'components.yaml#/components/parameters/topicParamInQuery'
    responses:
      200:
        description: OK
        content:
          application/json:
            schema:
              type: object
            examples:
              dataSampleResponse:
                $ref: 'components.yaml#/components/examples/dataSampleResponse'
      400:
        $ref: 'components.yaml#/components/responses/BadRequest'
      401:
        $ref: 'components.yaml#/components/responses/Unauthorized'
      403:
        $ref: 'components.yaml#/components/responses/Forbidden'
      500:
        $ref: 'components.yaml#/components/responses/InternalServerError'
      502:
        $ref: 'components.yaml#/components/responses/BadGateway'
  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/resourceIdentifierInQuery'
      - $ref: 'components.yaml#/components/parameters/contentParamInHeader'
    requestBody:
      required: true
      content:
        application/json:
          schema:
            type: object
          examples:
            dataSampleRequest:
              $ref: 'components.yaml#/components/examples/dataSampleRequest'
        application/yang-data+json:
          schema:
            type: object
          examples:
            dataSampleRequest:
              $ref: 'components.yaml#/components/examples/dataSampleRequest'
    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'
      500:
        $ref: 'components.yaml#/components/responses/InternalServerError'
      502:
        $ref: 'components.yaml#/components/responses/BadGateway'

  put:
    tags:
      - network-cm-proxy
    summary: Update resource data from pass-through running for a cm handle
    description: Update resource data from pass-through running for the given cm handle
    operationId: updateResourceDataRunningForCmHandle
    parameters:
      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
      - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery'
      - $ref: 'components.yaml#/components/parameters/contentParamInHeader'
    requestBody:
      required: true
      content:
        application/json:
          schema:
            type: object
          examples:
            dataSampleRequest:
              $ref: 'components.yaml#/components/examples/dataSampleRequest'
        application/yang-data+json:
          schema:
            type: object
          examples:
            dataSampleRequest:
              $ref: 'components.yaml#/components/examples/dataSampleRequest'
    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'
      500:
        $ref: 'components.yaml#/components/responses/InternalServerError'
      502:
        $ref: 'components.yaml#/components/responses/BadGateway'

  patch:
    tags:
      - network-cm-proxy
    summary: Patch resource data from pass-through running
    description: Patch resource data from pass-through running for the given cm handle
    operationId: patchResourceDataRunningForCmHandle
    parameters:
      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
      - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery'
      - $ref: 'components.yaml#/components/parameters/contentParamInHeader'
    requestBody:
      required: true
      content:
        '*/*':
          schema:
            type: object
          examples:
            dataSampleRequest:
              $ref: 'components.yaml#/components/examples/dataSamplePatchRequest'
    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'
      500:
        $ref: 'components.yaml#/components/responses/InternalServerError'
      502:
        $ref: 'components.yaml#/components/responses/BadGateway'

  delete:
    tags:
      - network-cm-proxy
    summary: Delete resource data
    description: Delete resource data from pass-through running for a given cm handle
    operationId: deleteResourceDataRunningForCmHandle
    parameters:
      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
      - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery'
      - $ref: 'components.yaml#/components/parameters/contentParamInHeader'
    responses:
      204:
        $ref: 'components.yaml#/components/responses/NoContent'
      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'
      500:
        $ref: 'components.yaml#/components/responses/InternalServerError'
      502:
        $ref: 'components.yaml#/components/responses/BadGateway'

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: array
              items:
                $ref: 'components.yaml#/components/schemas/RestModuleReference'
      400:
        $ref: 'components.yaml#/components/responses/BadRequest'
      401:
        $ref: 'components.yaml#/components/responses/Unauthorized'
      403:
        $ref: 'components.yaml#/components/responses/Forbidden'
      500:
        $ref: 'components.yaml#/components/responses/InternalServerError'

fetchModuleDefinitionsByCmHandle:
  get:
    description: Fetch all module definitions (name, revision, yang resource) for a given cm handle
    tags:
      - network-cm-proxy
    summary: Fetch all module definitions (name, revision, yang resource) for a given cm handle
    operationId: getModuleDefinitionsByCmHandleId
    parameters:
      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
    responses:
      200:
        description: OK
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: 'components.yaml#/components/schemas/RestModuleDefinition'
      401:
        $ref: 'components.yaml#/components/responses/Unauthorized'
      403:
        $ref: 'components.yaml#/components/responses/Forbidden'
      500:
        $ref: 'components.yaml#/components/responses/InternalServerError'

searchCmHandles:
  post:
    description: Execute cm handle query search, to be included in the result a cm-handle must fulfill ALL the conditions listed here, if one of the given module names does not exists, return with an empty collection.
    tags:
      - network-cm-proxy
    summary: Execute cm handle search using the available conditions
    operationId: searchCmHandles
    requestBody:
      required: true
      content:
        application/json:
          schema:
            $ref: 'components.yaml#/components/schemas/CmHandleQueryParameters'
    responses:
      200:
        description: OK
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: 'components.yaml#/components/schemas/RestOutputCmHandle'
      400:
        $ref: 'components.yaml#/components/responses/BadRequest'
      401:
        $ref: 'components.yaml#/components/responses/Unauthorized'
      403:
        $ref: 'components.yaml#/components/responses/Forbidden'
      500:
        $ref: 'components.yaml#/components/responses/InternalServerError'

retrieveCmHandleDetailsById:
  get:
    description: Retrieve CM handle details and properties by cm handle id
    tags:
      - network-cm-proxy
    summary: Retrieve CM handle details
    operationId: retrieveCmHandleDetailsById
    parameters:
      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
    responses:
      200:
        description: OK
        content:
          application/json:
            schema:
              $ref: 'components.yaml#/components/schemas/RestOutputCmHandle'
      400:
        $ref: 'components.yaml#/components/responses/BadRequest'
      401:
        $ref: 'components.yaml#/components/responses/Unauthorized'
      404:
        $ref: 'components.yaml#/components/responses/NotFound'
      500:
        $ref: 'components.yaml#/components/responses/InternalServerError'

getCmHandlePropertiesById:
  get:
    description: Get CM handle properties by cm handle id
    tags:
      - network-cm-proxy
    summary: Get CM handle properties
    operationId: getCmHandlePublicPropertiesByCmHandleId
    parameters:
      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
    responses:
      200:
        description: OK
        content:
          application/json:
            schema:
              $ref: 'components.yaml#/components/schemas/RestOutputCmHandlePublicProperties'
      400:
        $ref: 'components.yaml#/components/responses/BadRequest'
      401:
        $ref: 'components.yaml#/components/responses/Unauthorized'
      404:
        $ref: 'components.yaml#/components/responses/NotFound'
      500:
        $ref: 'components.yaml#/components/responses/InternalServerError'

getCmHandleStateById:
  get:
    description: Get CM handle state by cm handle id
    tags:
      - network-cm-proxy
    summary: Get CM handle state
    operationId: getCmHandleStateByCmHandleId
    parameters:
      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
    responses:
      200:
        description: OK
        content:
          application/json:
            schema:
              $ref: 'components.yaml#/components/schemas/RestOutputCmHandleCompositeState'
      400:
        $ref: 'components.yaml#/components/responses/BadRequest'
      401:
        $ref: 'components.yaml#/components/responses/Unauthorized'
      404:
        $ref: 'components.yaml#/components/responses/NotFound'
      500:
        $ref: 'components.yaml#/components/responses/InternalServerError'

searchCmHandleIds:
  post:
    description: Execute cm handle query search, to be included in the result a cm-handle must fulfill ALL the conditions listed here, if one of the given module names does not exists, return with an empty collection.
    tags:
      - network-cm-proxy
    summary: Execute cm handle query upon a given set of query parameters
    operationId: searchCmHandleIds
    requestBody:
      required: true
      content:
        application/json:
          schema:
            $ref: 'components.yaml#/components/schemas/CmHandleQueryParameters'
    responses:
      200:
        description: OK
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
      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'
      500:
        $ref: 'components.yaml#/components/responses/InternalServerError'

setDataSyncEnabledFlag:
  put:
    tags:
      - network-cm-proxy
    summary: Set the Data Sync Enabled Flag
    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:
      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
      - $ref: 'components.yaml#/components/parameters/dataSyncEnabled'
    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'
      500:
        $ref: 'components.yaml#/components/responses/InternalServerError'
      502:
        $ref: 'components.yaml#/components/responses/BadGateway'