line.agent.spark.agent-core_2.12.2.2.0.source-code.producer.api.v1.2.json Maven / Gradle / Ivy
{
"openapi": "3.0.0",
"info": {
"description": "Api Documentation",
"version": "1.0",
"title": "Api Documentation",
"termsOfService": "urn:tos",
"contact": {},
"license": {
"name": "Apache 2.0",
"url": "http://www.apache.org/licenses/LICENSE-2.0"
}
},
"tags": [
{
"name": "ingestion-controller",
"description": "Ingestion Controller"
},
{
"name": "status",
"description": "Status Controller"
}
],
"paths": {
"/execution-events": {
"post": {
"tags": [
"ingestion-controller"
],
"summary": "Save Execution Events",
"description": "\n Saves a list of Execution Events.\n\n Payload format:\n\n [\n {\n // Reference to the execution plan Id that was triggered\n planId: ,\n\n // [Optional] A label that logically distinguish a group of one of multiple execution plans from another group.\n // If set, it has to match the discriminator of the associated execution plan.\n // The property is used for UUID collision detection.\n discriminator: ,\n\n // [Optional] An object that consists of string key-multi-value pairs associated with the given execution plan.\n // The labels can be used later for searching/filtering/grouping the plans on the Consumer/UI side.\n labels: {\n : []\n },\n\n // Time (milliseconds since Epoch) when the execution finished\n timestamp: ,\n\n // [Optional] Duration (in nanoseconds) of the execution\n durationNs: ,\n // [Optional] Additional info about the error (in case there was an error during the execution)\n error: {...},\n\n // [Optional] Any other extra information related to the given execution event\n extra: {...}\n },\n ...\n ]\n ",
"operationId": "eventsHandlerUsingPOST",
"requestBody": {
"content": {
"application/vnd.absa.spline.producer.v1.2+json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ExecutionEvent"
}
}
}
},
"description": "eventDTOs",
"required": true
},
"responses": {
"201": {
"description": "All execution Events are successfully stored",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/BoxedUnit"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Not Found"
}
},
"deprecated": false
}
},
"/execution-plans": {
"post": {
"tags": [
"ingestion-controller"
],
"summary": "Save Execution Plan",
"description": "\n Saves an Execution Plan and returns its new UUID.\n\n Payload format:\n\n {\n // [Optional] Global unique identifier of the execution plan. If omitted, will be generated by the server.\n id: ,\n\n // [Optional] A name of the application (script, job etc) that this execution plan represents.\n name: ,\n\n // [Optional] A label that logically distinguish a group of one of multiple execution plans from another group.\n // If set, it has to match the discriminator of the associated execution events.\n // The property is used for UUID collision detection.\n discriminator: ,\n\n // [Optional] An object that consists of string key-multi-value pairs associated with the given execution plan.\n // The labels can be used later for searching/filtering/grouping the plans on the Consumer/UI side.\n labels: {\n : []\n },\n\n // Operation level lineage info\n operations: {\n\n // Write operation\n write: {\n // Operation ID (should be unique in the scope of the current execution plan)\n id: ,\n // [Optional] Operation name\n name: ,\n // Destination URI, where the data has been written to\n outputSource: ,\n // Shows if the write operation appended or replaced the data in the target destination\n append: ,\n // Array of preceding operations IDs,\n // i.e. operations that serves as an input for the current operation\n childIds: [],\n // [Optional] Operation parameters\n params: {...},\n // [Optional] Custom info about the operation\n extra: {...}\n },\n\n // Array of read operations\n reads: [\n {\n // Operation ID (see above)\n id: ,\n // [Optional] Operation name\n name: ,\n // Source URIs, where the data has been read from\n inputSources: [],\n // [Optional] Output attribute IDs\n output: [],\n // [Optional] Operation parameters\n params: {...},\n // [Optional] Custom info about the operation\n extra: {...}\n },\n ...\n ],\n\n // Other operations\n other: [\n {\n // Operation ID (see above)\n id: ,\n // [Optional] Operation name\n name: ,\n // Array of preceding operations IDs (see above)\n childIds: [],\n // [Optional] Output attribute IDs. If output is undefined the server will try to infer it from the child operations' output.\n output: [],\n // [Optional] Operation parameters\n params: {...},\n // [Optional] Custom info about the operation\n extra: {...}\n },\n ...\n ]\n },\n\n // [Optional] Attribute definitions\n attributes: [\n {\n id: ,\n // Attribute name\n name: ,\n // [Optional] References to other attributes, expressions or constants that this attribute is computed from\n childRefs: [ { __exprId: } | { __attrId: } ],\n // [Optional] Custom info\n extra: {...}\n }\n ],\n\n // [Optional] Attribute level lineage info\n expressions: {\n\n // Function definitions\n functions: [\n {\n id: ,\n // Function name\n name: ,\n // [Optional] References to operands (expressions, constants or attributes)\n childRefs: [ { __exprId: } | { __attrId: } ],\n // [Optional] Named expression parameters\n params: {...},\n // [Optional] Custom meta info\n extra: {...}\n }\n ],\n\n // Constant/Literal definitions\n constants: {\n {\n id: ,\n // constant value\n value: ,\n // [Optional] Custom meta info\n extra: {...}\n }\n }\n },\n\n // Information about the data framework in use (e.g. Spark, StreamSets etc)\n systemInfo: {\n name: ,\n version: \n },\n\n // [Optional] Spline agent information\n agentInfo: {\n name: ,\n version: \n },\n\n // [Optional] Any other extra info associated with the current execution plan\n extraInfo: {...}\n }\n ",
"operationId": "planHandlerUsingPOST",
"requestBody": {
"content": {
"application/vnd.absa.spline.producer.v1.2+json": {
"schema": {
"$ref": "#/components/schemas/ExecutionPlan"
}
}
},
"description": "planDTO",
"required": true
},
"responses": {
"201": {
"description": "Execution Plan is stored with the UUID returned in a response body",
"content": {
"*/*": {
"schema": {
"type": "string",
"format": "uuid"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Not Found"
}
},
"deprecated": false
}
},
"/status": {
"head": {
"tags": [
"status"
],
"summary": "Server health status",
"description": "Check that producer is running and that the database is accessible and initialized",
"operationId": "statusHeadUsingHEAD",
"responses": {
"200": {
"description": "Everything's working",
"content": {
"*/*": {
"schema": {
"type": "object"
}
}
}
},
"204": {
"description": "No Content"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"503": {
"description": "There is a problem"
}
},
"deprecated": false
}
}
},
"servers": [
{
"url": "//localhost/"
}
],
"components": {
"schemas": {
"AttrOrExprRef": {
"type": "object",
"properties": {
"__attrId": {
"type": "string"
},
"__exprId": {
"type": "string"
}
},
"title": "AttrOrExprRef"
},
"Attribute": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string"
},
"dataType": {
"type": "object"
},
"childRefs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AttrOrExprRef"
}
},
"extra": {
"type": "object",
"additionalProperties": {
"type": "object"
}
},
"name": {
"type": "string"
}
},
"title": "Attribute"
},
"BoxedUnit": {
"type": "object",
"title": "BoxedUnit"
},
"DataOperation": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"childIds": {
"type": "array",
"items": {
"type": "string"
}
},
"output": {
"type": "array",
"items": {
"type": "string"
}
},
"params": {
"type": "object",
"additionalProperties": {
"type": "object"
}
},
"extra": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
},
"title": "DataOperation"
},
"ExecutionEvent": {
"type": "object",
"required": [
"planId",
"timestamp"
],
"properties": {
"planId": {
"type": "string",
"format": "uuid"
},
"labels": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
},
"timestamp": {
"type": "integer",
"format": "int64"
},
"durationNs": {
"type": "integer",
"format": "int64"
},
"discriminator": {
"type": "string"
},
"error": {
"type": "object"
},
"extra": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
},
"title": "ExecutionEvent"
},
"ExecutionPlan": {
"type": "object",
"required": [
"operations",
"systemInfo"
],
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"discriminator": {
"type": "string"
},
"labels": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
},
"operations": {
"$ref": "#/components/schemas/Operations"
},
"attributes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Attribute"
}
},
"expressions": {
"$ref": "#/components/schemas/Expressions"
},
"systemInfo": {
"$ref": "#/components/schemas/NameAndVersion"
},
"agentInfo": {
"$ref": "#/components/schemas/NameAndVersion"
},
"extraInfo": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
},
"title": "ExecutionPlan"
},
"Expressions": {
"type": "object",
"properties": {
"functions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FunctionalExpression"
}
},
"constants": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Literal"
}
}
},
"title": "Expressions"
},
"FunctionalExpression": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string"
},
"dataType": {
"type": "object"
},
"childRefs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AttrOrExprRef"
}
},
"extra": {
"type": "object",
"additionalProperties": {
"type": "object"
}
},
"name": {
"type": "string"
},
"params": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
},
"title": "FunctionalExpression"
},
"Literal": {
"type": "object",
"required": [
"id",
"value"
],
"properties": {
"id": {
"type": "string"
},
"dataType": {
"type": "object"
},
"extra": {
"type": "object",
"additionalProperties": {
"type": "object"
}
},
"value": {
"type": "object"
}
},
"title": "Literal"
},
"NameAndVersion": {
"type": "object",
"required": [
"name",
"version"
],
"properties": {
"name": {
"type": "string"
},
"version": {
"type": "string"
}
},
"title": "NameAndVersion"
},
"Operations": {
"type": "object",
"required": [
"write"
],
"properties": {
"write": {
"$ref": "#/components/schemas/WriteOperation"
},
"reads": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReadOperation"
}
},
"other": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DataOperation"
}
}
},
"title": "Operations"
},
"ReadOperation": {
"type": "object",
"required": [
"id",
"inputSources"
],
"properties": {
"inputSources": {
"type": "array",
"items": {
"type": "string"
}
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"output": {
"type": "array",
"items": {
"type": "string"
}
},
"params": {
"type": "object",
"additionalProperties": {
"type": "object"
}
},
"extra": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
},
"title": "ReadOperation"
},
"WriteOperation": {
"type": "object",
"required": [
"append",
"childIds",
"id",
"outputSource"
],
"properties": {
"outputSource": {
"type": "string"
},
"append": {
"type": "boolean"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"childIds": {
"type": "array",
"items": {
"type": "string"
}
},
"params": {
"type": "object",
"additionalProperties": {
"type": "object"
}
},
"extra": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
},
"title": "WriteOperation"
}
}
}
}