blob: 4a6d17293e4ae59db418e773592a6898e7d72e23 [file] [log] [blame]
# ============LICENSE_START=======================================================
# Copyright (C) 2021-2023 Nordix Foundation
# Modifications Copyright (C) 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=========================================================
components:
securitySchemes:
basicAuth:
type: http
scheme: basic
schemas:
ErrorMessage:
type: object
title: Error
properties:
status:
type: string
message:
type: string
details:
type: string
CmHandles:
type: object
properties:
cmHandles:
type: array
example: ["cmHandleId1","cmHandleId2","cmHandleId3"]
items:
type: string
ModuleReferencesRequest:
type: object
properties:
moduleSetTag:
type: string
cmHandleProperties:
$ref: '#/components/schemas/cmHandleProperties'
ResourceDataOperationRequests:
type: array
items:
type: object
title: 'DataOperationRequest'
properties:
operation:
type: string
example: 'read'
operationId:
description: 'it is recommended that the operationId is unique within the scope of the request'
type: string
example: '12'
datastore:
type: string
example: 'ncmp-datastore:passthrough-operational'
options:
type: string
example: 'some option'
resourceIdentifier:
type: string
example: 'some resource identifier'
cmHandles:
type: array
items:
$ref: '#/components/schemas/dmiOperationCmHandle'
required:
- operation
- operationId
- datastore
- cmHandles
dmiOperationCmHandle:
type: object
title: 'CmHandle with properties for DMI'
properties:
id:
type: string
cmHandleProperties:
additionalProperties:
type: string
moduleSetTag:
type: string
example: module-set-tag1
example:
id: cmHandle123
cmHandleProperties:
myProp: some value
otherProp: other value
moduleSetTag: module-set-tag1
ModuleResourcesReadRequest:
type: object
properties:
moduleSetTag:
type: string
description: Module set tag of the given cm handle
example: Module-set-tag-1
required: false
data:
type: object
properties:
modules:
type: array
items:
type: object
properties:
name:
type: string
example: my-name
revision:
type: string
example: my-revision
cmHandleProperties:
$ref: '#/components/schemas/cmHandleProperties'
ModuleSet:
type: object
properties:
schemas:
type: array
items:
type: object
properties:
moduleName:
type: string
example: my-module-name
revision:
type: string
example: my-revision
namespace:
type: string
example: my-namespace
YangResources:
type: array
items:
$ref: '#/components/schemas/YangResource'
YangResource:
properties:
yangSource:
type: string
example: my-yang-source
moduleName:
type: string
example: my-module-name
revision:
type: string
example: my-revision
DataAccessRequest:
type: object
properties:
operation:
type: string
enum: [ read, create, update, patch, delete ]
example: read
dataType:
type: string
example: my-data-type
data:
type: string
example: my-data
cmHandleProperties:
$ref: '#/components/schemas/cmHandleProperties'
requestId:
type: string
example: 3a9ce55c-e365-4dc9-8da3-a06f07cbc6d7
moduleSetTag:
type: string
example: module-set-tag1
cmHandleProperties:
type: object
nullable: true
additionalProperties:
type: string
example: {"prop1":"value1","prop2":"value2"}
responses:
NoContent:
description: No Content
content: {}
BadRequest:
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
example:
status: 400
message: Bad Request
details: The provided request is not valid
NotFound:
description: The specified resource was not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
example:
status: 404
message: Resource Not Found
details: The requested resource is not found
ServerError:
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
example:
status: 500
message: Internal Server Error
details: Internal Server Error occured
NotImplemented:
description: Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
example:
status: 501
message: Not Implemented
details: Method Not Implemented
parameters:
cmHandleInPath:
name: cmHandle
in: path
description: The identifier for a network function, network element, subnetwork, or any other cm object by managed Network CM Proxy
required: true
schema:
type: string
example: my-cm-handle
resourceIdentifierInQuery:
name: resourceIdentifier
in: query
description: Resource identifier to get/set the resource data
required: true
schema:
type: string
example: my-schema:my-node
optionsParamInQuery:
name: options
in: query
description: options parameter in query, it is mandatory to wrap key(s)=value(s) in parenthesis'()'.
required: false
schema:
type: string
examples:
sample1:
value:
options: (key1=value1,key2=value2)
sample2:
value:
options: (key1=value1,key2=value1/value2)
sample3:
value:
options: (key1=10,key2=value2,key3=val31,val32)
topicParamInQuery:
name: topic
in: query
description: topic name passed from client(NCMP).
required: false
schema:
type: string
examples:
sample1:
value: my-topic-name
requiredTopicParamInQuery:
name: topic
in: query
description: mandatory topic name passed from client(NCMP).
required: true
schema:
type: string
examples:
sample1:
value:
topic: my-topic-name
requiredRequestIdParamInQuery:
name: requestId
in: query
description: request Id generated by NCMP and sent as an acknowledgement for the client request the same including here.
required: true
schema:
type: string
examples:
sample1:
value: 4753fc1f-7de2-449a-b306-a6204b5370b3
datastoreName:
name: datastore-name
in: path
description: The type of the requested data
required: true
schema:
type: string
example: ncmp-datastore:passthrough-operational or ncmp-datastore:passthrough-running
security:
- basicAuth: []