# ============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/cmHandleReferenceInPath'
- $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/cmHandleReferenceInPath'
- $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/cmHandleReferenceInPath'
- $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/cmHandleReferenceInPath'
- $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/cmHandleReferenceInPath'
- $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 references
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:
- $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/cmHandleReferenceInPath'
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/cmHandleReferenceInPath'
- $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 cm handle query search Read the Docs.
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 CPS Path Read the Docs. 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/cmHandleReferenceInPath'
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/cmHandleReferenceInPath'
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/cmHandleReferenceInPath'
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 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 cm handle query search Read the Docs.
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 CPS Path Read the Docs. 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
parameters:
- $ref: 'components.yaml#/components/parameters/outputAlternateIdOptionInQuery'
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'