All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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"
            }
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy