line.agent.spark.agent-core_2.12.2.2.0.source-code.producer.api.v1.0.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": "execution",
"description": "Execution Events Controller"
},
{
"name": "status",
"description": "Status Controller"
}
],
"paths": {
"/execution-events": {
"post": {
"tags": [
"execution"
],
"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 // Time (milliseconds since Epoch) when the execution finished\n timestamp: ,\n // [Optional] Additional info about the error (in case there was an error during the execution)\n error: {...},\n // Any other extra information related to the given execution event\n extra: {...}\n },\n ...\n ]\n ",
"operationId": "executionEventUsingPOST",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ExecutionEvent"
}
}
}
},
"description": "execEvents",
"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": [
"execution"
],
"summary": "Save Execution Plan",
"description": "\n Saves an Execution Plan and returns its new UUID.\n\n In most cases, if `id` is provided by the client it will be used and returned\n to the client. However, in the future Spline server could recognize duplicated\n execution plans, in which case the method will return UUID of already existing\n execution plan. In all the future interactions with the Spline API, the client\n must use this UUID instead of the original UUID to refer the given Execution Plan.\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 operations: {\n\n // Write operation\n write: {\n // Write operation ID (a number, unique in the scope of the current execution plan)\n id: ,\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] Object that describes the schema of the operation output\n schema: {...},\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 // Source URIs, where the data has been read from\n inputSources: [],\n // [Optional] Object that describes the schema of the operation output\n schema: {...},\n // [Optional] Custom info about the operation\n params: {...}\n },\n ...\n ],\n\n // Other operations\n other: [\n {\n // Operation ID (see above)\n id: ,\n // Array of preceding operations IDs (see above)\n childIds: [],\n // [Optional] Object that describes the schema of the operation output\n schema: {...},\n // [Optional] Custom info about the operation\n params: {...}\n },\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": "executionPlanUsingPOST",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExecutionPlan"
}
}
},
"description": "execPlan",
"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": {
"AgentInfo": {
"type": "object",
"required": [
"name",
"version"
],
"properties": {
"name": {
"type": "string"
},
"version": {
"type": "string"
}
},
"title": "AgentInfo"
},
"BoxedUnit": {
"type": "object",
"title": "BoxedUnit"
},
"DataOperation": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"childIds": {
"type": "array",
"items": {
"type": "object"
}
},
"schema": {
"type": "object"
},
"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"
},
"timestamp": {
"type": "integer",
"format": "int64"
},
"error": {
"type": "object"
},
"extra": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
},
"title": "ExecutionEvent"
},
"ExecutionPlan": {
"type": "object",
"required": [
"operations",
"systemInfo"
],
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"operations": {
"$ref": "#/components/schemas/Operations"
},
"systemInfo": {
"$ref": "#/components/schemas/SystemInfo"
},
"agentInfo": {
"$ref": "#/components/schemas/AgentInfo"
},
"extraInfo": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
},
"title": "ExecutionPlan"
},
"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": [
"childIds",
"id",
"inputSources"
],
"properties": {
"childIds": {
"type": "array",
"items": {
"type": "object"
}
},
"inputSources": {
"type": "array",
"items": {
"type": "string"
}
},
"id": {
"type": "integer",
"format": "int32"
},
"schema": {
"type": "object"
},
"params": {
"type": "object",
"additionalProperties": {
"type": "object"
}
},
"extra": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
},
"title": "ReadOperation"
},
"SystemInfo": {
"type": "object",
"required": [
"name",
"version"
],
"properties": {
"name": {
"type": "string"
},
"version": {
"type": "string"
}
},
"title": "SystemInfo"
},
"WriteOperation": {
"type": "object",
"required": [
"append",
"childIds",
"id",
"outputSource",
"schema"
],
"properties": {
"outputSource": {
"type": "string"
},
"schema": {
"type": "object"
},
"append": {
"type": "boolean"
},
"id": {
"type": "integer",
"format": "int32"
},
"childIds": {
"type": "array",
"items": {
"type": "object"
}
},
"params": {
"type": "object",
"additionalProperties": {
"type": "object"
}
},
"extra": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
},
"title": "WriteOperation"
}
}
}
}