#  ============LICENSE_START=======================================================
#  Copyright (C) 2021-2022 Nordix Foundation
#  Modifications Copyright (C) 2021 Pantheon.tech
#  Modifications Copyright (C) 2021 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=========================================================

openapi: 3.0.1
info:
  title: NCMP to CPS Proxy API
  description: NCMP to CPS Proxy API
  version: "1.0"
servers:
  - url: /ncmp
paths:
  /v1/ch/{cm-handle}/data/ds/ncmp-datastore:passthrough-operational:
    $ref: 'ncmp.yml#/getResourceDataForPassthroughOperational'

  /v1/ch/{cm-handle}/data/ds/ncmp-datastore:passthrough-running:
    $ref: 'ncmp.yml#/resourceDataForPassthroughRunning'

  /v1/ch/{cm-handle}/modules:
    $ref: 'ncmp.yml#/fetchModuleReferencesByCmHandle'

  /v1/ch/{cm-handle}/modules/definitions:
    $ref: 'ncmp.yml#/fetchModuleDefinitionsByCmHandle'

  /v1/ch/searches:
    $ref: 'ncmp.yml#/searchCmHandles'

  /v1/ch/{cm-handle}:
    $ref: 'ncmp.yml#/retrieveCmHandleDetailsById'

  /v1/ch/{cm-handle}/properties:
    $ref: 'ncmp.yml#/getCmHandlePropertiesById'

  /v1/ch/id-searches:
    $ref: 'ncmp.yml#/searchCmHandleIds'

  /v1/ch/{cm-handle}/state:
    $ref: 'ncmp.yml#/getCmHandleStateById'

  /v1/ch/{cm-handle}/data-sync:
    $ref: 'ncmp.yml#/setDataSyncEnabledFlag'
