#  ============LICENSE_START=======================================================
#  Copyright (C) 2021-2024 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=========================================================

resourceDataForCmHandle:
  get:
    tags:
      - network-cm-proxy
    summary: Get resource data for cm handle
    description: Get resource data for given cm handle
    operationId: getResourceDataForCmHandle
    parameters:
      - $ref: 'components.yaml#/components/parameters/datastoreName'
      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
      - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery'
      - $ref: 'components.yaml#/components/parameters/optionsParamInQuery'
      - $ref: 'components.yaml#/components/parameters/topicParamInQuery'
      - $ref: 'components.yaml#/components/parameters/includeDescendantsOptionInQuery'
      - $ref: 'components.yaml#/components/parameters/authorizationParamInHeader'
    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'
      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/datastoreName'
      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
      - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery'
      - $ref: 'components.yaml#/components/parameters/contentParamInHeader'
      - $ref: 'components.yaml#/components/parameters/authorizationParamInHeader'
    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'
      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/datastoreName'
      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
      - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery'
      - $ref: 'components.yaml#/components/parameters/contentParamInHeader'
      - $ref: 'components.yaml#/components/parameters/authorizationParamInHeader'
    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'
      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/datastoreName'
      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
      - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery'
      - $ref: 'components.yaml#/components/parameters/contentParamInHeader'
      - $ref: 'components.yaml#/components/parameters/authorizationParamInHeader'
    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'
      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/datastoreName'
      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
      - $ref: 'components.yaml#/components/parameters/resourceIdentifierInQuery'
      - $ref: 'components.yaml#/components/parameters/contentParamInHeader'
      - $ref: 'components.yaml#/components/parameters/authorizationParamInHeader'
    responses:
      204:
        $ref: 'components.yaml#/components/responses/NoContent'
      400:
        $ref: 'components.yaml#/components/responses/BadRequest'
      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'

dataOperationForCmHandle:
  post:
    tags:
      - network-cm-proxy
    summary: Execute a data operation for group of cm handle ids
    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 50 cm handles per operation is supported.
    operationId: executeDataOperationForCmHandles
    parameters:
      - $ref: 'components.yaml#/components/parameters/requiredTopicParamInQuery'
      - $ref: 'components.yaml#/components/parameters/authorizationParamInHeader'
    requestBody:
      required: true
      content:
        application/json:
          schema:
            $ref: 'components.yaml#/components/schemas/DataOperationRequest'
    responses:
      200:
        description: OK
        content:
          application/json:
            schema:
              type: object
      400:
        $ref: 'components.yaml#/components/responses/BadRequest'
      403:
        $ref: 'components.yaml#/components/responses/Forbidden'
      413:
        $ref: 'components.yaml#/components/responses/PayloadTooLarge'
      500:
        $ref: 'components.yaml#/components/responses/InternalServerError'
      502:
        $ref: 'components.yaml#/components/responses/BadGateway'

queryResourceDataForCmHandle:
  get:
    tags:
      - network-cm-proxy
    summary: Query resource data for a given cm handle
    description: Query resource data for a given cm handle
    operationId: queryResourceDataForCmHandle
    parameters:
      - $ref: 'components.yaml#/components/parameters/datastoreName'
      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
      - $ref: 'components.yaml#/components/parameters/cpsPathInQuery'
      - $ref: 'components.yaml#/components/parameters/optionsParamInQuery'
      - $ref: 'components.yaml#/components/parameters/topicParamInQuery'
      - $ref: 'components.yaml#/components/parameters/includeDescendantsOptionInQuery'
    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'
      403:
        $ref: 'components.yaml#/components/responses/Forbidden'
      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'
      403:
        $ref: 'components.yaml#/components/responses/Forbidden'
      500:
        $ref: 'components.yaml#/components/responses/InternalServerError'

getModuleDefinitions:
  get:
    tags:
      - network-cm-proxy
    summary: Get module definitions
    description: Get module definitions (module name, revision, yang resource) with options to filter on module name and revision
    operationId: getModuleDefinitions
    parameters:
      - $ref: 'components.yaml#/components/parameters/cmHandleInPath'
      - $ref: 'components.yaml#/components/parameters/moduleNameInQuery'
      - $ref: 'components.yaml#/components/parameters/revisionInQuery'
    responses:
      200:
        description: OK
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: 'components.yaml#/components/schemas/RestModuleDefinition'
      403:
        $ref: 'components.yaml#/components/responses/Forbidden'
      500:
        $ref: 'components.yaml#/components/responses/InternalServerError'

searchCmHandles:
  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.
    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'
          examples:
            Cm handle properties query:
              $ref: 'components.yaml#/components/examples/pubPropCmHandleQueryParameters'
            Cm handle modules query:
              $ref: 'components.yaml#/components/examples/modulesCmHandleQueryParameters'
            All cm handle query parameters:
              $ref: 'components.yaml#/components/examples/allCmHandleQueryParameters'
            Cm handle with CPS path state query:
              $ref: 'components.yaml#/components/examples/cpsPathCmHandleStateQueryParameters'
            Cm handle with data sync flag query:
              $ref: 'components.yaml#/components/examples/cpsPathCmHandleDataSyncQueryParameters'
    responses:
      200:
        description: OK
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: 'components.yaml#/components/schemas/RestOutputCmHandle'
      400:
        $ref: 'components.yaml#/components/responses/BadRequest'
      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'
      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'
      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'
      404:
        $ref: 'components.yaml#/components/responses/NotFound'
      500:
        $ref: 'components.yaml#/components/responses/InternalServerError'

searchCmHandleIds:
  post:
    description: Execute cm handle query search and return a list of cm handle ids. 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.
    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'
          examples:
            Cm handle properties query:
              $ref: 'components.yaml#/components/examples/pubPropCmHandleQueryParameters'
            Cm handle modules query:
              $ref: 'components.yaml#/components/examples/modulesCmHandleQueryParameters'
            All cm handle query parameters:
              $ref: 'components.yaml#/components/examples/allCmHandleQueryParameters'
            Cm handle with CPS path state query:
              $ref: 'components.yaml#/components/examples/cpsPathCmHandleStateQueryParameters'
            Cm handle with data sync flag query:
              $ref: 'components.yaml#/components/examples/cpsPathCmHandleDataSyncQueryParameters'
    responses:
      200:
        description: OK
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
      400:
        $ref: 'components.yaml#/components/responses/BadRequest'
      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'
      403:
        $ref: 'components.yaml#/components/responses/Forbidden'
      500:
        $ref: 'components.yaml#/components/responses/InternalServerError'
      502:
        $ref: 'components.yaml#/components/responses/BadGateway'
