openapi: 3.0.0 | |
servers: | |
- description: SwaggerHub API Auto Mocking | |
url: https://virtserver.swaggerhub.com/gre/DsRestAPI/1.0.0 | |
info: | |
description: DataSource Restful API | |
version: "1.0.0" | |
title: DataSource Restful API | |
contact: | |
email: tamas.levente.kiss@ericsson.com | |
license: | |
name: Eclipse Public License - v 1.0 | |
url: 'http://www.eclipse.org/legal/epl-v10.html' | |
tags: | |
- name: source | |
description: mandatory field | |
- name: element | |
description: mandatory field | |
paths: | |
/api.extension: | |
post: | |
summary: posts a DsRestAPI request. The "extension" needs to be costumized by the application. Different applications may implement different extensions on the same server, serving different data elements. | |
operationId: postDsRestAPIRequest | |
description: posts a DsRestAPI request | |
responses: | |
'200': | |
description: request answered | |
'400': | |
description: bad request - invalid input object | |
'501': | |
description: unknown method - not implemented | |
'414': | |
description: Request-URI Too Long. Limit is 2000 octets | |
requestBody: | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/DsAPIRequest' | |
description: JSON object to be issued | |
components: | |
schemas: | |
DsAPIRequest: | |
type: object | |
required: | |
- requests | |
properties: | |
requests: | |
$ref: '#/components/schemas/requests' | |
timeout: | |
type: string | |
format: float | |
example: 5.0 | |
requests: | |
type: array | |
example: [{"getData":{"source":"DataSource","element":"Sources"}}] | |
items: | |
title: request | |
oneOf: | |
- "$ref": "#/components/schemas/getDataRequest" | |
- "$ref": "#/components/schemas/setDataRequest" | |
getDataRequest: | |
title: getDataRequest | |
type: object | |
additionalProperties: false | |
properties: | |
getData: | |
type: object | |
additionalProperties: false | |
properties: | |
source: | |
type: string | |
ptcname: | |
type: string | |
element: | |
type: string | |
params: | |
"$ref": "#/components/schemas/params" | |
cookie: | |
type: string | |
children: | |
"$ref": "#/components/schemas/requests" | |
filter: | |
"$ref": "#/components/schemas/filter" | |
rangeFilter: | |
"$ref": "#/components/schemas/rangeFilter" | |
selection: | |
type: array | |
items: | |
title: selection | |
type: integer | |
selectionValues: | |
type: array | |
items: | |
title: selectionValue | |
type: string | |
writableInfo: | |
type: boolean | |
timeline: | |
type: object | |
additionalProperties: false | |
properties: | |
period: | |
type: number | |
minimum: 0 | |
maxpoints: | |
type: integer | |
minimum: 0 | |
since: | |
type: integer | |
minimum: 0 | |
required: | |
- source | |
- element | |
required: | |
- getData | |
setDataRequest: | |
title: setDataRequest | |
type: object | |
additionalProperties: false | |
properties: | |
setData: | |
type: object | |
properties: | |
source: | |
type: string | |
ptcname: | |
type: string | |
element: | |
type: string | |
content: | |
type: string | |
tp: | |
type: integer | |
indxsInList: | |
type: array | |
items: | |
title: index | |
type: integer | |
params: | |
"$ref": "#/components/schemas/params" | |
required: | |
- source | |
- element | |
- content | |
- tp | |
required: | |
- setData | |
params: | |
type: array | |
items: | |
title: param | |
type: object | |
additionalProperties: false | |
properties: | |
paramName: | |
type: string | |
paramValue: | |
type: string | |
required: | |
- paramName | |
- paramValue | |
filter: | |
oneOf: | |
- title: dataValue | |
type: object | |
additionalProperties: false | |
properties: | |
dataValue: | |
type: string | |
required: | |
- dataValue | |
- title: filterRequest | |
type: object | |
additionalProperties: false | |
properties: | |
request: | |
type: object | |
additionalProperties: false | |
properties: | |
source: | |
type: string | |
ptcname: | |
type: string | |
element: | |
type: string | |
params: | |
"$ref": "#/components/schemas/filterParams" | |
remapTo: | |
"$ref": "#/components/schemas/filter" | |
required: | |
- source | |
- element | |
filterParams: | |
type: array | |
items: | |
title: filterParam | |
type: object | |
additionalProperties: false | |
properties: | |
paramName: | |
type: string | |
paramValue: | |
"$ref": "#/components/schemas/filter" | |
required: | |
- paramName | |
- paramValue | |
rangeFilter: | |
type: object | |
additionalProperties: false | |
properties: | |
offset: | |
type: integer | |
minimum: 0 | |
count: | |
type: integer | |
minimum: 0 |