# ============LICENSE_START=======================================================
-# Copyright (C) 2021 Nordix Foundation
+# Copyright (C) 2021-2022 Nordix Foundation
# Modifications Copyright (C) 2021 Pantheon.tech
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
properties:
dmiPlugin:
type: string
- example: onap-dmi-plugin
+ example: my-dmi-plugin
+ dmiDataPlugin:
+ type: string
+ example: my-dmi-data-plugin
+ dmiModelPlugin:
+ type: string
+ example: my-dmi-model-plugin
createdCmHandles:
type: array
items:
type: array
items:
type: string
+ example: [my-cm-handle1, my-cm-handle2, my-cm-handle3]
RestCmHandle:
required:
properties:
cmHandle:
type: string
- example: cmHandle123
+ example: my-cm-handle
cmHandleProperties:
- $ref: '#/components/schemas/RestCmHandleAdditionalProperties'
- RestCmHandleAdditionalProperties:
+ $ref: '#/components/schemas/RestCmHandleProperties'
+ publicCmHandleProperties:
+ $ref: '#/components/schemas/RestCmHandleProperties'
+ RestCmHandleProperties:
type: object
additionalProperties:
type: string
- example: system-001
+ example: my-property
Conditions:
type: object
type: string
example: hasAllModules
conditionParameters:
- $ref: '#/components/schemas/ConditionParameters'
- ConditionParameters:
+ $ref: '#/components/schemas/ModuleNamesAsJsonArray'
+ ModuleNamesAsJsonArray:
type: array
items:
type: object
- $ref: '#/components/schemas/ConditionParameter'
- ConditionParameter:
+ $ref: '#/components/schemas/ModuleNameAsJsonObject'
+ example: [my-module-1, my-module-2, my-module-3]
+ ModuleNameAsJsonObject:
properties:
moduleName:
type: string
- example: someModuleName
+ example: my-module
#Response Schemas
CmHandles:
properties:
cmHandleId:
type: string
- example: someCmHandleId
+ example: my-cm-handle-id
+
+ ModuleReference:
+ type: object
+ title: Module reference details
+ properties:
+ moduleName:
+ type: string
+ example: my-module-name
+ revision:
+ type: string
+ example: my-module-revision
+
+ examples:
+ dataSampleRequest:
+ summary: Sample request
+ description: Sample request body
+ value:
+ test:bookstore:
+ bookstore-name: Chapters
+ categories:
+ - code: '01'
+ name: SciFi
+ books:
+ - authors:
+ - Iain M. Banks
+ - Ursula K. Le Guin
+ - code: '02'
+ name: kids
+ books:
+ - authors:
+ - Philip Pullman
+
+ dataSamplePatchRequest:
+ summary: Sample patch request
+ description: Sample patch request body
+ value:
+ ietf-restconf:yang-patch:
+ patch-id: patch-1
+ edit:
+ - edit-id: edit1
+ operation: merge
+ target: /
+ value:
+ test:bookstore:
+ bookstore-name: Chapters
+ categories:
+ - code: '01'
+ name: Science
+ books:
+ - authors:
+ - Author1
+ - Author2
+ - code: '02'
+ name: Arts
+ books:
+ - authors:
+ - Author3
+ - edit-id: edit2
+ operation: merge
+ target: /
+ value:
+ test:bookstore:
+ bookstore-name: Novels
+ categories:
+ - code: '03'
+ name: History
+ books:
+ - authors:
+ - Iain M. Banks
+ - Ursula K. Le Guin
+ - code: '04'
+ name: Fiction
+ books:
+ - authors:
+ - Philip Pullman
+
+ dataSampleResponse:
+ summary: Sample response
+ description: Sample response for selecting 'sample 1'.
+ value:
+ bookstore:
+ categories:
+ - code: '01'
+ books:
+ - authors:
+ - Iain M. Banks
+ - Ursula K. Le Guin
+ name: SciFi
+ - code: '02'
+ books:
+ - authors:
+ - Philip Pullman
+ name: kids
parameters:
cmHandleInPath:
required: true
schema:
type: string
+ example: my-cm-handle
xpathInQuery:
name: xpath
in: query
schema:
type: string
examples:
- sample1:
+ sample 1:
value:
- resourceIdentifier: \parent\child
- sample2:
+ resourceIdentifier: \shops\bookstore
+ sample 2:
value:
- resourceIdentifier: \parent\listElement[key=value]
- sample3:
+ resourceIdentifier: \shops\bookstore\categories[@code=1]
+ sample 3:
value:
- resourceIdentifier: \parent\listElement[key=value]\grandChild
- sample4:
- value:
- resourceIdentifier: parent=1,child=abc
+ resourceIdentifier: parent=shops,child=bookstore
acceptParamInHeader:
name: Accept
in: header
optionsParamInQuery:
name: options
in: query
- description: options parameter in query, it is mandatory to wrap key(s)=value(s) in parenthesis'()'.
+ description: options parameter in query, it is mandatory to wrap key(s)=value(s) in parenthesis'()'. The format of options parameter depend on the associated DMI Plugin implementation.
required: false
schema:
type: string
allowReserved: true
examples:
- sample1:
+ sample 1:
value:
- options: (key1=value1,key2=value2)
- sample2:
+ options: (depth=3)
+ sample 2:
value:
- options: (key1=value1,key2=value1/value2)
- sample3:
+ options: (fields=book)
+ sample 3:
value:
- options: (key1=10,key2=value2,key3=[val31;val32])
+ options: (depth=2,fields=book/authors)
contentParamInHeader:
name: Content-Type
in: header
schema:
type: string
default: application/json
-
+ example: application/yang-data+json
responses:
NotFound:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 400
+ message: Not found error message
+ details: Not found error details
Unauthorized:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 401
+ message: Unauthorized error message
+ details: Unauthorized error details
Forbidden:
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
BadRequest:
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
Conflict:
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 409 CONFLICT
+ message: Conflict error message
+ details: Conflict error details
NotImplemented:
description: The given path has not been implemented
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 501
+ message: Not implemented error message
+ details: Not implemented error details
Ok:
description: OK
content:
NoContent:
description: No Content
content: {}
+ InternalServerError:
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/ErrorMessage"
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred