blob: 7b1c8d403e2f8a94cd829feaaf786062756a8738 [file] [log] [blame]
# ============LICENSE_START=======================================================
# Copyright (C) 2021 Bell Canada
# Modifications Copyright (C) 2021-2024 Nordix Foundation
# ================================================================================
# 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=========================================================
updateDmiRegistration:
post:
description: Register a DMI Plugin with any new, updated or removed CM Handles.
tags:
- network-cm-proxy-inventory
summary: DMI notifies NCMP of new CM Handles
operationId: updateDmiPluginRegistration
requestBody:
required: true
content:
application/json:
schema:
$ref: 'components.yaml#/components/schemas/RestDmiPluginRegistration'
responses:
200:
$ref: 'components.yaml#/components/responses/NoContent'
400:
$ref: 'components.yaml#/components/responses/BadRequest'
403:
$ref: 'components.yaml#/components/responses/Forbidden'
500:
description: Partial or Complete failure. The error details are provided in the response body and all supported error codes are documented in the example.
content:
application/json:
schema:
$ref: 'components.yaml#/components/schemas/DmiPluginRegistrationErrorResponse'
example:
failedCreatedCmHandles: [
{
"cmHandle": "my-cm-handle-01",
"errorCode": "00",
"errorText": "Unknown error. <error-details>"
},
{
"cmHandle": "my-cm-handle-02",
"errorCode": "01",
"errorText": "cm-handle already exists"
},
{
"cmHandle": "my-cm-handle-03",
"errorCode": "03",
"errorText": "cm-handle has an invalid character(s) in id"
}
]
failedUpdatedCmHandles: [
{
"cmHandle": "my-cm-handle-01",
"errorCode": "00",
"errorText": "Unknown error. <error-details>"
},
{
"cmHandle": "my-cm-handle-02",
"errorCode": "02",
"errorText": "cm-handle does not exist"
},
{
"cmHandle": "my-cm-handle-03",
"errorCode": "03",
"errorText": "cm-handle has an invalid character(s) in id"
}
]
failedRemovedCmHandles: [
{
"cmHandle": "my-cm-handle-01",
"errorCode": "00",
"errorText": "Unknown error. <error-details>"
},
{
"cmHandle": "my-cm-handle-02",
"errorCode": "02",
"errorText": "cm-handle does not exists"
},
{
"cmHandle": "my-cm-handle-03",
"errorCode": "03",
"errorText": "cm-handle has an invalid character(s) in id"
}
]
getAllCmHandleReferencesForRegisteredDmi:
get:
description: Get all cm handle references for a registered DMI plugin
tags:
- network-cm-proxy-inventory
summary: Get all cm handle references for a registered DMI plugin (DMI plugin, DMI data plugin, DMI model plugin)
operationId: getAllCmHandleReferencesForRegisteredDmi
parameters:
- $ref: 'components.yaml#/components/parameters/dmiPluginIdentifierInQuery'
- $ref: 'components.yaml#/components/parameters/outputAlternateIdOptionInQuery'
responses:
200:
description: OK
content:
application/json:
schema:
type: array
items:
type: string
403:
$ref: 'components.yaml#/components/responses/Forbidden'
500:
$ref: 'components.yaml#/components/responses/InternalServerError'
searchCmHandleIds:
post:
description: Query and get cm handle references for additional properties, public properties and registered DMI plugin (DMI plugin, DMI data plugin, DMI model plugin).
tags:
- network-cm-proxy-inventory
summary: Query for CM Handle IDs
operationId: searchCmHandleIds
parameters:
- $ref: 'components.yaml#/components/parameters/outputAlternateIdOptionInQuery'
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
403:
$ref: 'components.yaml#/components/responses/Forbidden'
500:
$ref: 'components.yaml#/components/responses/InternalServerError'