| openapi: 3.0.1 |
| info: |
| title: Generic Dmaap and Kafka Information Producer |
| description: Reads data from DMaaP and Kafka and posts it further to information |
| consumers |
| license: |
| name: Copyright (C) 2021 Nordix Foundation. Licensed under the Apache License. |
| url: http://www.apache.org/licenses/LICENSE-2.0 |
| version: "1.0" |
| servers: |
| - url: / |
| tags: |
| - name: Actuator |
| description: Monitor and interact |
| externalDocs: |
| description: Spring Boot Actuator Web API Documentation |
| url: https://docs.spring.io/spring-boot/docs/current/actuator-api/html/ |
| paths: |
| /actuator/threaddump: |
| get: |
| tags: |
| - Actuator |
| summary: Actuator web endpoint 'threaddump' |
| operationId: threaddump |
| responses: |
| 200: |
| description: OK |
| content: |
| text/plain;charset=UTF-8: |
| schema: |
| type: object |
| application/vnd.spring-boot.actuator.v3+json: |
| schema: |
| type: object |
| application/json: |
| schema: |
| type: object |
| application/vnd.spring-boot.actuator.v2+json: |
| schema: |
| type: object |
| /actuator/info: |
| get: |
| tags: |
| - Actuator |
| summary: Actuator web endpoint 'info' |
| operationId: info |
| responses: |
| 200: |
| description: OK |
| content: |
| application/vnd.spring-boot.actuator.v3+json: |
| schema: |
| type: object |
| application/json: |
| schema: |
| type: object |
| application/vnd.spring-boot.actuator.v2+json: |
| schema: |
| type: object |
| /data-producer/v1/info-types/{infoTypeId}: |
| put: |
| tags: |
| - Information Coordinator Service Simulator (exists only in test) |
| operationId: putInfoType |
| parameters: |
| - name: infoTypeId |
| in: path |
| required: true |
| style: simple |
| explode: false |
| schema: |
| type: string |
| requestBody: |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/producer_info_type_info' |
| required: true |
| responses: |
| 200: |
| description: OK |
| content: |
| application/json: |
| schema: |
| type: object |
| /statistics: |
| get: |
| tags: |
| - Producer job control API |
| summary: Returns statistics |
| operationId: getStatistics |
| responses: |
| 200: |
| description: OK |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/statistics_info' |
| /generic_dataproducer/health_check: |
| get: |
| tags: |
| - Producer job control API |
| summary: Producer supervision |
| description: The endpoint is provided by the Information Producer and is used |
| for supervision of the producer. |
| operationId: producerSupervision |
| responses: |
| 200: |
| description: The producer is OK |
| content: |
| application/json: |
| schema: |
| type: string |
| /generic_dataproducer/info_job: |
| get: |
| tags: |
| - Producer job control API |
| summary: Get all jobs |
| description: Returns all info jobs, can be used for trouble shooting |
| operationId: getJobs |
| responses: |
| 200: |
| description: Information jobs |
| content: |
| application/json: |
| schema: |
| type: array |
| items: |
| $ref: '#/components/schemas/producer_info_job_request' |
| post: |
| tags: |
| - Producer job control API |
| summary: Callback for Information Job creation/modification |
| description: The call is invoked to activate or to modify a data subscription. |
| The endpoint is provided by the Information Producer. |
| operationId: jobCreatedCallback |
| requestBody: |
| content: |
| application/json: |
| schema: |
| type: string |
| required: true |
| responses: |
| 200: |
| description: OK |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/void' |
| 400: |
| description: Other error in the request |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_information' |
| 404: |
| description: Information type is not found |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_information' |
| /actuator/loggers: |
| get: |
| tags: |
| - Actuator |
| summary: Actuator web endpoint 'loggers' |
| operationId: loggers |
| responses: |
| 200: |
| description: OK |
| content: |
| application/vnd.spring-boot.actuator.v3+json: |
| schema: |
| type: object |
| application/json: |
| schema: |
| type: object |
| application/vnd.spring-boot.actuator.v2+json: |
| schema: |
| type: object |
| /actuator/health/**: |
| get: |
| tags: |
| - Actuator |
| summary: Actuator web endpoint 'health-path' |
| operationId: health-path |
| responses: |
| 200: |
| description: OK |
| content: |
| application/vnd.spring-boot.actuator.v3+json: |
| schema: |
| type: object |
| application/json: |
| schema: |
| type: object |
| application/vnd.spring-boot.actuator.v2+json: |
| schema: |
| type: object |
| /actuator/shutdown: |
| post: |
| tags: |
| - Actuator |
| summary: Actuator web endpoint 'shutdown' |
| operationId: shutdown |
| responses: |
| 200: |
| description: OK |
| content: |
| application/vnd.spring-boot.actuator.v3+json: |
| schema: |
| type: object |
| application/json: |
| schema: |
| type: object |
| application/vnd.spring-boot.actuator.v2+json: |
| schema: |
| type: object |
| /data-producer/v1/info-producers/{infoProducerId}: |
| get: |
| tags: |
| - Information Coordinator Service Simulator (exists only in test) |
| operationId: getInfoProducer |
| parameters: |
| - name: infoProducerId |
| in: path |
| required: true |
| style: simple |
| explode: false |
| schema: |
| type: string |
| responses: |
| 200: |
| description: OK |
| content: |
| application/json: |
| schema: |
| type: object |
| put: |
| tags: |
| - Information Coordinator Service Simulator (exists only in test) |
| operationId: putInfoProducer |
| parameters: |
| - name: infoProducerId |
| in: path |
| required: true |
| style: simple |
| explode: false |
| schema: |
| type: string |
| requestBody: |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/producer_registration_info' |
| required: true |
| responses: |
| 200: |
| description: OK |
| content: |
| application/json: |
| schema: |
| type: object |
| /actuator/metrics/{requiredMetricName}: |
| get: |
| tags: |
| - Actuator |
| summary: Actuator web endpoint 'metrics-requiredMetricName' |
| operationId: metrics-requiredMetricName |
| parameters: |
| - name: requiredMetricName |
| in: path |
| required: true |
| style: simple |
| explode: false |
| schema: |
| type: string |
| responses: |
| 200: |
| description: OK |
| content: |
| application/vnd.spring-boot.actuator.v3+json: |
| schema: |
| type: object |
| application/json: |
| schema: |
| type: object |
| application/vnd.spring-boot.actuator.v2+json: |
| schema: |
| type: object |
| /generic_dataproducer/info_job/{infoJobId}: |
| delete: |
| tags: |
| - Producer job control API |
| summary: Callback for Information Job deletion |
| description: The call is invoked to terminate a data subscription. The endpoint |
| is provided by the Information Producer. |
| operationId: jobDeletedCallback |
| parameters: |
| - name: infoJobId |
| in: path |
| required: true |
| style: simple |
| explode: false |
| schema: |
| type: string |
| responses: |
| 200: |
| description: OK |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/void' |
| /actuator: |
| get: |
| tags: |
| - Actuator |
| summary: Actuator root web endpoint |
| operationId: links |
| responses: |
| 200: |
| description: OK |
| content: |
| application/vnd.spring-boot.actuator.v3+json: |
| schema: |
| type: object |
| additionalProperties: |
| type: object |
| additionalProperties: |
| $ref: '#/components/schemas/Link' |
| application/json: |
| schema: |
| type: object |
| additionalProperties: |
| type: object |
| additionalProperties: |
| $ref: '#/components/schemas/Link' |
| application/vnd.spring-boot.actuator.v2+json: |
| schema: |
| type: object |
| additionalProperties: |
| type: object |
| additionalProperties: |
| $ref: '#/components/schemas/Link' |
| /actuator/logfile: |
| get: |
| tags: |
| - Actuator |
| summary: Actuator web endpoint 'logfile' |
| operationId: logfile |
| responses: |
| 200: |
| description: OK |
| content: |
| text/plain;charset=UTF-8: |
| schema: |
| type: object |
| /data-consumer/v1/info-jobs/{infoJobId}: |
| put: |
| tags: |
| - Information Coordinator Service Simulator (exists only in test) |
| operationId: putIndividualInfoJob |
| parameters: |
| - name: infoJobId |
| in: path |
| required: true |
| style: simple |
| explode: false |
| schema: |
| type: string |
| requestBody: |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/consumer_job' |
| required: true |
| responses: |
| 200: |
| description: OK |
| content: |
| application/json: |
| schema: |
| type: object |
| /actuator/loggers/{name}: |
| get: |
| tags: |
| - Actuator |
| summary: Actuator web endpoint 'loggers-name' |
| operationId: loggers-name |
| parameters: |
| - name: name |
| in: path |
| required: true |
| style: simple |
| explode: false |
| schema: |
| type: string |
| responses: |
| 200: |
| description: OK |
| content: |
| application/vnd.spring-boot.actuator.v3+json: |
| schema: |
| type: object |
| application/json: |
| schema: |
| type: object |
| application/vnd.spring-boot.actuator.v2+json: |
| schema: |
| type: object |
| post: |
| tags: |
| - Actuator |
| summary: Actuator web endpoint 'loggers-name' |
| operationId: loggers-name_2 |
| parameters: |
| - name: name |
| in: path |
| required: true |
| style: simple |
| explode: false |
| schema: |
| type: string |
| requestBody: |
| content: |
| application/json: |
| schema: |
| type: string |
| enum: |
| - TRACE |
| - DEBUG |
| - INFO |
| - WARN |
| - ERROR |
| - FATAL |
| - OFF |
| responses: |
| 200: |
| description: OK |
| content: |
| '*/*': |
| schema: |
| type: object |
| /actuator/health: |
| get: |
| tags: |
| - Actuator |
| summary: Actuator web endpoint 'health' |
| operationId: health |
| responses: |
| 200: |
| description: OK |
| content: |
| application/vnd.spring-boot.actuator.v3+json: |
| schema: |
| type: object |
| application/json: |
| schema: |
| type: object |
| application/vnd.spring-boot.actuator.v2+json: |
| schema: |
| type: object |
| /dmaap-topic-2: |
| get: |
| tags: |
| - DMAAP Simulator (exists only in test) |
| summary: GET from topic |
| description: The call is invoked to activate or to modify a data subscription. |
| The endpoint is provided by the Information Producer. |
| operationId: getFromPmTopic |
| responses: |
| 200: |
| description: OK |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/void' |
| /consumer: |
| post: |
| tags: |
| - Test Consumer Simulator (exists only in test) |
| summary: Consume data |
| description: The call is invoked to push data to consumer |
| operationId: postData |
| requestBody: |
| content: |
| application/json: |
| schema: |
| type: string |
| required: true |
| responses: |
| 200: |
| description: OK |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/void' |
| /dmaap-topic-1: |
| get: |
| tags: |
| - DMAAP Simulator (exists only in test) |
| summary: GET from topic |
| description: The call is invoked to activate or to modify a data subscription. |
| The endpoint is provided by the Information Producer. |
| operationId: getFromTopic |
| responses: |
| 200: |
| description: OK |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/void' |
| /actuator/metrics: |
| get: |
| tags: |
| - Actuator |
| summary: Actuator web endpoint 'metrics' |
| operationId: metrics |
| responses: |
| 200: |
| description: OK |
| content: |
| application/vnd.spring-boot.actuator.v3+json: |
| schema: |
| type: object |
| application/json: |
| schema: |
| type: object |
| application/vnd.spring-boot.actuator.v2+json: |
| schema: |
| type: object |
| /actuator/heapdump: |
| get: |
| tags: |
| - Actuator |
| summary: Actuator web endpoint 'heapdump' |
| operationId: heapdump |
| responses: |
| 200: |
| description: OK |
| content: |
| application/octet-stream: |
| schema: |
| type: object |
| components: |
| schemas: |
| producer_info_job_request: |
| required: |
| - info_job_identity |
| type: object |
| properties: |
| owner: |
| type: string |
| description: The owner of the job |
| last_updated: |
| type: string |
| description: The time when the job was last updated or created (ISO-8601) |
| info_job_identity: |
| type: string |
| description: Identity of the Information Job |
| target_uri: |
| type: string |
| description: URI for the target of the produced Information |
| info_job_data: |
| type: object |
| description: Json for the job data |
| info_type_identity: |
| type: string |
| description: Type identity for the job |
| description: The body of the Information Producer callbacks for Information |
| Job creation and deletion |
| error_information: |
| type: object |
| properties: |
| detail: |
| type: string |
| description: ' A human-readable explanation specific to this occurrence |
| of the problem.' |
| example: Policy type not found |
| status: |
| type: integer |
| description: 'The HTTP status code generated by the origin server for this |
| occurrence of the problem. ' |
| format: int32 |
| example: 503 |
| description: Problem as defined in https://tools.ietf.org/html/rfc7807 |
| consumer_job: |
| required: |
| - info_type_id |
| - job_definition |
| - job_owner |
| - job_result_uri |
| type: object |
| properties: |
| info_type_id: |
| type: string |
| description: Information type Idenitifier of the subscription job |
| job_result_uri: |
| type: string |
| description: The target URI of the subscribed information |
| job_owner: |
| type: string |
| description: Identity of the owner of the job |
| job_definition: |
| type: object |
| description: Information type specific job data |
| status_notification_uri: |
| type: string |
| description: The target of Information subscription job status notifications |
| description: Information for an Information Job |
| void: |
| type: object |
| description: Void/empty |
| job_statistics: |
| required: |
| - jobId |
| - noOfReceivedBytes |
| - noOfReceivedObjects |
| - noOfSentBytes |
| - noOfSentObjects |
| - typeId |
| type: object |
| properties: |
| noOfSentObjects: |
| type: integer |
| format: int64 |
| jobId: |
| type: string |
| outputTopic: |
| type: string |
| noOfSentBytes: |
| type: integer |
| format: int64 |
| clientId: |
| type: string |
| groupId: |
| type: string |
| noOfReceivedBytes: |
| type: integer |
| format: int64 |
| typeId: |
| type: string |
| inputTopic: |
| type: string |
| noOfReceivedObjects: |
| type: integer |
| format: int64 |
| description: Statistics information for one job |
| statistics_info: |
| type: object |
| properties: |
| jobStatistics: |
| type: array |
| description: Statistics per job |
| items: |
| $ref: '#/components/schemas/job_statistics' |
| description: Statistics information |
| producer_registration_info: |
| required: |
| - info_job_callback_url |
| - info_producer_supervision_callback_url |
| - supported_info_types |
| type: object |
| properties: |
| info_producer_supervision_callback_url: |
| type: string |
| description: callback for producer supervision |
| supported_info_types: |
| type: array |
| description: Supported Information Type IDs |
| items: |
| type: string |
| description: Supported Information Type IDs |
| info_job_callback_url: |
| type: string |
| description: callback for Information Job |
| description: Information for an Information Producer |
| Link: |
| type: object |
| properties: |
| templated: |
| type: boolean |
| href: |
| type: string |
| producer_info_type_info: |
| required: |
| - info_job_data_schema |
| - info_type_information |
| type: object |
| properties: |
| info_type_information: |
| type: object |
| description: Type specific information for the information type |
| info_job_data_schema: |
| type: object |
| description: Json schema for the job data |
| description: Information for an Information Type |