+{
+ "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"
+ },
+ "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"]
+ }},
+ "/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) 2023 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/"
+ }
+ }]
+}
\ No newline at end of file