blob: a807d1a9d2adba77b634644f22f3c4744dd0f6eb [file] [log] [blame]
{
"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/"
}
}]
}