blob: 15883a68f9244bd3097e9ca0d70f3e4c0fef55a0 [file] [log] [blame]
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