| { |
| "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 |
| } |
| } |
| }, |
| "consumer_job": { |
| "description": "Information for an Information Job", |
| "type": "object", |
| "required": [ |
| "info_type_id", |
| "job_definition", |
| "job_owner", |
| "job_result_uri" |
| ], |
| "properties": { |
| "info_type_id": { |
| "description": "Information type Idenitifier of the subscription job", |
| "type": "string" |
| }, |
| "job_result_uri": { |
| "description": "The target URI of the subscribed information", |
| "type": "string" |
| }, |
| "job_owner": { |
| "description": "Identity of the owner of the job", |
| "type": "string" |
| }, |
| "job_definition": { |
| "description": "Information type specific job data", |
| "type": "object" |
| }, |
| "status_notification_uri": { |
| "description": "The target of Information subscription job status notifications", |
| "type": "string" |
| } |
| } |
| }, |
| "void": { |
| "description": "Void/empty", |
| "type": "object" |
| }, |
| "job_statistics": { |
| "description": "Statistics information for one job", |
| "type": "object", |
| "required": [ |
| "jobId", |
| "noOfReceivedBytes", |
| "noOfReceivedObjects", |
| "noOfSentBytes", |
| "noOfSentObjects", |
| "typeId" |
| ], |
| "properties": { |
| "noOfSentObjects": { |
| "format": "int64", |
| "type": "integer" |
| }, |
| "jobId": {"type": "string"}, |
| "outputTopic": {"type": "string"}, |
| "noOfSentBytes": { |
| "format": "int64", |
| "type": "integer" |
| }, |
| "clientId": {"type": "string"}, |
| "groupId": {"type": "string"}, |
| "noOfReceivedBytes": { |
| "format": "int64", |
| "type": "integer" |
| }, |
| "typeId": {"type": "string"}, |
| "inputTopic": {"type": "string"}, |
| "noOfReceivedObjects": { |
| "format": "int64", |
| "type": "integer" |
| } |
| } |
| }, |
| "statistics_info": { |
| "description": "Statistics information", |
| "type": "object", |
| "properties": {"jobStatistics": { |
| "description": "Statistics per job", |
| "type": "array", |
| "items": {"$ref": "#/components/schemas/job_statistics"} |
| }} |
| }, |
| "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": { |
| "/actuator/threaddump": {"get": { |
| "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"}} |
| } |
| }}, |
| "tags": ["Actuator"] |
| }}, |
| "/actuator/info": {"get": { |
| "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"}} |
| } |
| }}, |
| "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)"] |
| }}, |
| "/statistics": {"get": { |
| "summary": "Returns statistics", |
| "operationId": "getStatistics", |
| "responses": {"200": { |
| "description": "OK", |
| "content": {"application/json": {"schema": {"$ref": "#/components/schemas/statistics_info"}}} |
| }}, |
| "tags": ["Producer job control API"] |
| }}, |
| "/generic_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"] |
| }}, |
| "/generic_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"}}} |
| }, |
| "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"}}} |
| } |
| }, |
| "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"] |
| } |
| }, |
| "/actuator/loggers": {"get": { |
| "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"}} |
| } |
| }}, |
| "tags": ["Actuator"] |
| }}, |
| "/actuator/health/**": {"get": { |
| "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"}} |
| } |
| }}, |
| "tags": ["Actuator"] |
| }}, |
| "/actuator/shutdown": {"post": { |
| "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"}} |
| } |
| }}, |
| "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": "metrics-requiredMetricName", |
| "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"}} |
| } |
| }}, |
| "parameters": [{ |
| "schema": {"type": "string"}, |
| "in": "path", |
| "name": "requiredMetricName", |
| "required": true |
| }], |
| "tags": ["Actuator"] |
| }}, |
| "/generic_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": {"get": { |
| "summary": "Actuator root web endpoint", |
| "operationId": "links", |
| "responses": {"200": { |
| "description": "OK", |
| "content": { |
| "application/vnd.spring-boot.actuator.v3+json": {"schema": { |
| "additionalProperties": { |
| "additionalProperties": {"$ref": "#/components/schemas/Link"}, |
| "type": "object" |
| }, |
| "type": "object" |
| }}, |
| "application/json": {"schema": { |
| "additionalProperties": { |
| "additionalProperties": {"$ref": "#/components/schemas/Link"}, |
| "type": "object" |
| }, |
| "type": "object" |
| }}, |
| "application/vnd.spring-boot.actuator.v2+json": {"schema": { |
| "additionalProperties": { |
| "additionalProperties": {"$ref": "#/components/schemas/Link"}, |
| "type": "object" |
| }, |
| "type": "object" |
| }} |
| } |
| }}, |
| "tags": ["Actuator"] |
| }}, |
| "/actuator/logfile": {"get": { |
| "summary": "Actuator web endpoint 'logfile'", |
| "operationId": "logfile", |
| "responses": {"200": { |
| "description": "OK", |
| "content": {"text/plain;charset=UTF-8": {"schema": {"type": "object"}}} |
| }}, |
| "tags": ["Actuator"] |
| }}, |
| "/data-consumer/v1/info-jobs/{infoJobId}": {"put": { |
| "requestBody": { |
| "content": {"application/json": {"schema": {"$ref": "#/components/schemas/consumer_job"}}}, |
| "required": true |
| }, |
| "operationId": "putIndividualInfoJob", |
| "responses": {"200": { |
| "description": "OK", |
| "content": {"application/json": {"schema": {"type": "object"}}} |
| }}, |
| "parameters": [{ |
| "schema": {"type": "string"}, |
| "in": "path", |
| "name": "infoJobId", |
| "required": true |
| }], |
| "tags": ["Information Coordinator Service Simulator (exists only in test)"] |
| }}, |
| "/actuator/loggers/{name}": { |
| "post": { |
| "summary": "Actuator web endpoint 'loggers-name'", |
| "requestBody": {"content": {"application/json": {"schema": { |
| "type": "string", |
| "enum": [ |
| "TRACE", |
| "DEBUG", |
| "INFO", |
| "WARN", |
| "ERROR", |
| "FATAL", |
| "OFF" |
| ] |
| }}}}, |
| "operationId": "loggers-name_2", |
| "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": "loggers-name", |
| "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"}} |
| } |
| }}, |
| "parameters": [{ |
| "schema": {"type": "string"}, |
| "in": "path", |
| "name": "name", |
| "required": true |
| }], |
| "tags": ["Actuator"] |
| } |
| }, |
| "/actuator/health": {"get": { |
| "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"}} |
| } |
| }}, |
| "tags": ["Actuator"] |
| }}, |
| "/dmaap-topic-2": {"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": "getFromPmTopic", |
| "responses": {"200": { |
| "description": "OK", |
| "content": {"application/json": {"schema": {"$ref": "#/components/schemas/void"}}} |
| }}, |
| "tags": ["DMAAP Simulator (exists only in test)"] |
| }}, |
| "/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": "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"}} |
| } |
| }}, |
| "tags": ["Actuator"] |
| }}, |
| "/actuator/heapdump": {"get": { |
| "summary": "Actuator web endpoint 'heapdump'", |
| "operationId": "heapdump", |
| "responses": {"200": { |
| "description": "OK", |
| "content": {"application/octet-stream": {"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 Kafka and posts it further to information consumers", |
| "title": "Generic Dmaap and Kafka 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/" |
| } |
| }] |
| } |