| { |
| "components": {"schemas": { |
| "producer_info_job_request": { |
| "description": "The body of the Information Producer callbacks for Information Job creation and deletion", |
| "type": "object", |
| "required": ["info_job_identity"], |
| "properties": { |
| "owner": { |
| "description": "The owner of the job", |
| "type": "string" |
| }, |
| "last_updated": { |
| "description": "The time when the job was last updated or created (ISO-8601)", |
| "type": "string" |
| }, |
| "info_job_identity": { |
| "description": "Identity of the Information Job", |
| "type": "string" |
| }, |
| "target_uri": { |
| "description": "URI for the target of the produced Information", |
| "type": "string" |
| }, |
| "info_job_data": { |
| "description": "Json for the job data", |
| "type": "object" |
| }, |
| "info_type_identity": { |
| "description": "Type identity for the job", |
| "type": "string" |
| } |
| } |
| }, |
| "error_information": { |
| "description": "Problem as defined in https://tools.ietf.org/html/rfc7807", |
| "type": "object", |
| "properties": { |
| "detail": { |
| "description": " A human-readable explanation specific to this occurrence of the problem.", |
| "type": "string", |
| "example": "Policy type not found" |
| }, |
| "status": { |
| "format": "int32", |
| "description": "The HTTP status code generated by the origin server for this occurrence of the problem. ", |
| "type": "integer", |
| "example": 503 |
| } |
| } |
| }, |
| "void": { |
| "description": "Void/empty", |
| "type": "object" |
| }, |
| "producer_registration_info": { |
| "description": "Information for an Information Producer", |
| "type": "object", |
| "required": [ |
| "info_job_callback_url", |
| "info_producer_supervision_callback_url", |
| "supported_info_types" |
| ], |
| "properties": { |
| "info_producer_supervision_callback_url": { |
| "description": "callback for producer supervision", |
| "type": "string" |
| }, |
| "supported_info_types": { |
| "description": "Supported Information Type IDs", |
| "type": "array", |
| "items": { |
| "description": "Supported Information Type IDs", |
| "type": "string" |
| } |
| }, |
| "info_job_callback_url": { |
| "description": "callback for Information Job", |
| "type": "string" |
| } |
| } |
| }, |
| "Link": { |
| "type": "object", |
| "properties": { |
| "templated": {"type": "boolean"}, |
| "href": {"type": "string"} |
| } |
| }, |
| "producer_info_type_info": { |
| "description": "Information for an Information Type", |
| "type": "object", |
| "required": [ |
| "info_job_data_schema", |
| "info_type_information" |
| ], |
| "properties": { |
| "info_type_information": { |
| "description": "Type specific information for the information type", |
| "type": "object" |
| }, |
| "info_job_data_schema": { |
| "description": "Json schema for the job data", |
| "type": "object" |
| } |
| } |
| } |
| }}, |
| "openapi": "3.0.1", |
| "paths": { |
| "/dmaap_dataproducer/info_job": { |
| "post": { |
| "summary": "Callback for Information Job creation/modification", |
| "requestBody": { |
| "content": {"application/json": {"schema": {"type": "string"}}}, |
| "required": true |
| }, |
| "description": "The call is invoked to activate or to modify a data subscription. The endpoint is provided by the Information Producer.", |
| "operationId": "jobCreatedCallback", |
| "responses": { |
| "200": { |
| "description": "OK", |
| "content": {"application/json": {"schema": {"$ref": "#/components/schemas/void"}}} |
| }, |
| "404": { |
| "description": "Information type is not found", |
| "content": {"application/json": {"schema": {"$ref": "#/components/schemas/error_information"}}} |
| } |
| }, |
| "tags": ["Producer job control API"] |
| }, |
| "get": { |
| "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"} |
| }}} |
| }}, |
| "tags": ["Producer job control API"] |
| } |
| }, |
| "/dmaap_dataproducer/health_check": {"get": { |
| "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"}}} |
| }}, |
| "tags": ["Producer job control API"] |
| }}, |
| "/actuator/threaddump": {"get": { |
| "summary": "Actuator web endpoint 'threaddump'", |
| "operationId": "handle_2_1_3", |
| "responses": {"200": { |
| "description": "OK", |
| "content": {"*/*": {"schema": {"type": "object"}}} |
| }}, |
| "tags": ["Actuator"] |
| }}, |
| "/actuator/info": {"get": { |
| "summary": "Actuator web endpoint 'info'", |
| "operationId": "handle_9", |
| "responses": {"200": { |
| "description": "OK", |
| "content": {"*/*": {"schema": {"type": "object"}}} |
| }}, |
| "tags": ["Actuator"] |
| }}, |
| "/data-producer/v1/info-types/{infoTypeId}": {"put": { |
| "requestBody": { |
| "content": {"application/json": {"schema": {"$ref": "#/components/schemas/producer_info_type_info"}}}, |
| "required": true |
| }, |
| "operationId": "putInfoType", |
| "responses": {"200": { |
| "description": "OK", |
| "content": {"application/json": {"schema": {"type": "object"}}} |
| }}, |
| "parameters": [{ |
| "schema": {"type": "string"}, |
| "in": "path", |
| "name": "infoTypeId", |
| "required": true |
| }], |
| "tags": ["Information Coordinator Service Simulator (exists only in test)"] |
| }}, |
| "/actuator/loggers": {"get": { |
| "summary": "Actuator web endpoint 'loggers'", |
| "operationId": "handle_6", |
| "responses": {"200": { |
| "description": "OK", |
| "content": {"*/*": {"schema": {"type": "object"}}} |
| }}, |
| "tags": ["Actuator"] |
| }}, |
| "/actuator/health/**": {"get": { |
| "summary": "Actuator web endpoint 'health-path'", |
| "operationId": "handle_12", |
| "responses": {"200": { |
| "description": "OK", |
| "content": {"*/*": {"schema": {"type": "object"}}} |
| }}, |
| "tags": ["Actuator"] |
| }}, |
| "/data-producer/v1/info-producers/{infoProducerId}": { |
| "get": { |
| "operationId": "getInfoProducer", |
| "responses": {"200": { |
| "description": "OK", |
| "content": {"application/json": {"schema": {"type": "object"}}} |
| }}, |
| "parameters": [{ |
| "schema": {"type": "string"}, |
| "in": "path", |
| "name": "infoProducerId", |
| "required": true |
| }], |
| "tags": ["Information Coordinator Service Simulator (exists only in test)"] |
| }, |
| "put": { |
| "requestBody": { |
| "content": {"application/json": {"schema": {"$ref": "#/components/schemas/producer_registration_info"}}}, |
| "required": true |
| }, |
| "operationId": "putInfoProducer", |
| "responses": {"200": { |
| "description": "OK", |
| "content": {"application/json": {"schema": {"type": "object"}}} |
| }}, |
| "parameters": [{ |
| "schema": {"type": "string"}, |
| "in": "path", |
| "name": "infoProducerId", |
| "required": true |
| }], |
| "tags": ["Information Coordinator Service Simulator (exists only in test)"] |
| } |
| }, |
| "/actuator/metrics/{requiredMetricName}": {"get": { |
| "summary": "Actuator web endpoint 'metrics-requiredMetricName'", |
| "operationId": "handle_5", |
| "responses": {"200": { |
| "description": "OK", |
| "content": {"*/*": {"schema": {"type": "object"}}} |
| }}, |
| "parameters": [{ |
| "schema": {"type": "string"}, |
| "in": "path", |
| "name": "requiredMetricName", |
| "required": true |
| }], |
| "tags": ["Actuator"] |
| }}, |
| "/actuator": {"get": { |
| "summary": "Actuator root web endpoint", |
| "operationId": "links_1", |
| "responses": {"200": { |
| "description": "OK", |
| "content": {"*/*": {"schema": { |
| "additionalProperties": { |
| "additionalProperties": {"$ref": "#/components/schemas/Link"}, |
| "type": "object" |
| }, |
| "type": "object" |
| }}} |
| }}, |
| "tags": ["Actuator"] |
| }}, |
| "/actuator/logfile": {"get": { |
| "summary": "Actuator web endpoint 'logfile'", |
| "operationId": "handle_8", |
| "responses": {"200": { |
| "description": "OK", |
| "content": {"*/*": {"schema": {"type": "object"}}} |
| }}, |
| "tags": ["Actuator"] |
| }}, |
| "/actuator/loggers/{name}": { |
| "post": { |
| "summary": "Actuator web endpoint 'loggers-name'", |
| "operationId": "handle_0", |
| "responses": {"200": { |
| "description": "OK", |
| "content": {"*/*": {"schema": {"type": "object"}}} |
| }}, |
| "parameters": [{ |
| "schema": {"type": "string"}, |
| "in": "path", |
| "name": "name", |
| "required": true |
| }], |
| "tags": ["Actuator"] |
| }, |
| "get": { |
| "summary": "Actuator web endpoint 'loggers-name'", |
| "operationId": "handle_7", |
| "responses": {"200": { |
| "description": "OK", |
| "content": {"*/*": {"schema": {"type": "object"}}} |
| }}, |
| "parameters": [{ |
| "schema": {"type": "string"}, |
| "in": "path", |
| "name": "name", |
| "required": true |
| }], |
| "tags": ["Actuator"] |
| } |
| }, |
| "/dmaap_dataproducer/info_job/{infoJobId}": {"delete": { |
| "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", |
| "responses": {"200": { |
| "description": "OK", |
| "content": {"application/json": {"schema": {"$ref": "#/components/schemas/void"}}} |
| }}, |
| "parameters": [{ |
| "schema": {"type": "string"}, |
| "in": "path", |
| "name": "infoJobId", |
| "required": true |
| }], |
| "tags": ["Producer job control API"] |
| }}, |
| "/actuator/health": {"get": { |
| "summary": "Actuator web endpoint 'health'", |
| "operationId": "handle_11", |
| "responses": {"200": { |
| "description": "OK", |
| "content": {"*/*": {"schema": {"type": "object"}}} |
| }}, |
| "tags": ["Actuator"] |
| }}, |
| "/consumer": {"post": { |
| "summary": "Consume data", |
| "requestBody": { |
| "content": {"application/json": {"schema": {"type": "string"}}}, |
| "required": true |
| }, |
| "description": "The call is invoked to push data to consumer", |
| "operationId": "postData", |
| "responses": {"200": { |
| "description": "OK", |
| "content": {"application/json": {"schema": {"$ref": "#/components/schemas/void"}}} |
| }}, |
| "tags": ["Test Consumer Simulator (exists only in test)"] |
| }}, |
| "/dmaap-topic-1": {"get": { |
| "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"}}} |
| }}, |
| "tags": ["DMAAP Simulator (exists only in test)"] |
| }}, |
| "/actuator/metrics": {"get": { |
| "summary": "Actuator web endpoint 'metrics'", |
| "operationId": "handle_4", |
| "responses": {"200": { |
| "description": "OK", |
| "content": {"*/*": {"schema": {"type": "object"}}} |
| }}, |
| "tags": ["Actuator"] |
| }}, |
| "/actuator/heapdump": {"get": { |
| "summary": "Actuator web endpoint 'heapdump'", |
| "operationId": "handle_10", |
| "responses": {"200": { |
| "description": "OK", |
| "content": {"*/*": {"schema": {"type": "object"}}} |
| }}, |
| "tags": ["Actuator"] |
| }} |
| }, |
| "info": { |
| "license": { |
| "name": "Copyright (C) 2021 Nordix Foundation. Licensed under the Apache License.", |
| "url": "http://www.apache.org/licenses/LICENSE-2.0" |
| }, |
| "description": "Reads data from DMAAP and sends it further to information consumers", |
| "title": "Generic Dmaap Information Producer", |
| "version": "1.0" |
| }, |
| "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/" |
| } |
| }] |
| } |