versioned_docs/version-0.9.0-incubating/open-api/lineage.yaml (259 lines of code) (raw):

# Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. --- paths: /lineage: post: summary: Post runEvent description: Updates a run state for a job. operationId: postRunEvent tags: - lineage requestBody: content: application/json: schema: oneOf: - $ref: '#/components/schemas/RunEvent' - $ref: '#/components/schemas/DatasetEvent' - $ref: '#/components/schemas/JobEvent' responses: "200": description: OK "429": description: Too Many Requests "5xx": $ref: "./openapi.yaml#/components/responses/ServerErrorResponse" components: schemas: BaseEvent: type: object properties: eventTime: description: the time the event occurred at type: string format: date-time producer: description: URI identifying the producer of this metadata. For example this could be a git url with a given tag or sha type: string format: uri example: https://github.com/OpenLineage/OpenLineage/blob/v1-0-0/client schemaURL: description: The JSON Pointer (https://tools.ietf.org/html/rfc6901) URL to the corresponding version of the schema definition for this RunEvent type: string format: uri example: https://openlineage.io/spec/0-0-1/OpenLineage.json required: - eventTime - producer - schemaURL BaseFacet: description: all fields of the base facet are prefixed with `_` to avoid name conflicts in facets. type: object properties: _producer: description: URI identifying the producer of this metadata. For example this could be a git url with a given tag or sha type: string format: uri example: https://github.com/OpenLineage/OpenLineage/blob/v1-0-0/client _schemaURL: description: The JSON Pointer (https://tools.ietf.org/html/rfc6901) URL to the corresponding version of the schema definition for this facet type: string format: uri example: https://openlineage.io/spec/1-0-2/OpenLineage.json#/$defs/BaseFacet additionalProperties: true required: - _producer - _schemaURL RunFacet: description: A Run Facet type: object allOf: - $ref: '#/components/schemas/BaseFacet' Run: type: object properties: runId: description: The globally unique ID of the run associated with the job. type: string format: uuid facets: description: The run facets. type: object anyOf: - type: object additionalProperties: $ref: '#/components/schemas/RunFacet' required: - runId JobFacet: description: A Job Facet type: object allOf: - $ref: '#/components/schemas/BaseFacet' - type: object properties: _deleted: description: set to true to delete a facet type: boolean Job: type: object properties: namespace: description: The namespace containing that job type: string example: my-scheduler-namespace name: description: The unique name for that job within that namespace type: string example: myjob.mytask facets: description: The job facets. type: object anyOf: - type: object additionalProperties: $ref: '#/components/schemas/JobFacet' required: - namespace - name DatasetFacet: description: A Dataset Facet type: object allOf: - $ref: '#/components/schemas/BaseFacet' - type: object properties: _deleted: description: set to true to delete a facet type: boolean Dataset: type: object properties: namespace: description: The namespace containing that dataset type: string example: my-datasource-namespace name: description: The unique name for that dataset within that namespace type: string example: instance.schema.table facets: description: The facets for this dataset type: object anyOf: - type: object additionalProperties: $ref: '#/components/schemas/DatasetFacet' required: - namespace - name InputDatasetFacet: description: An Input Dataset Facet type: object allOf: - $ref: '#/components/schemas/BaseFacet' InputDataset: description: An input dataset type: object allOf: - $ref: '#/components/schemas/Dataset' - type: object properties: inputFacets: description: The input facets for this dataset. type: object anyOf: - type: object additionalProperties: $ref: '#/components/schemas/InputDatasetFacet' OutputDatasetFacet: description: An Output Dataset Facet type: object allOf: - $ref: '#/components/schemas/BaseFacet' OutputDataset: description: An output dataset type: object allOf: - $ref: '#/components/schemas/Dataset' - type: object properties: outputFacets: description: The output facets for this dataset type: object anyOf: - type: object additionalProperties: $ref: '#/components/schemas/OutputDatasetFacet' RunEvent: allOf: - $ref: '#/components/schemas/BaseEvent' - type: object properties: eventType: description: the current transition of the run state. It is required to issue 1 START event and 1 of [ COMPLETE, ABORT, FAIL ] event per run. Additional events with OTHER eventType can be added to the same run. For example to send additional metadata after the run is complete type: string enum: - START - RUNNING - COMPLETE - ABORT - FAIL - OTHER example: START|RUNNING|COMPLETE|ABORT|FAIL|OTHER run: $ref: '#/components/schemas/Run' job: $ref: '#/components/schemas/Job' inputs: description: The set of **input** datasets. type: array items: $ref: '#/components/schemas/InputDataset' outputs: description: The set of **output** datasets. type: array items: $ref: '#/components/schemas/OutputDataset' required: - run - job StaticDataset: description: A Dataset sent within static metadata events type: object allOf: - $ref: '#/components/schemas/Dataset' DatasetEvent: allOf: - $ref: '#/components/schemas/BaseEvent' - type: object properties: dataset: $ref: '#/components/schemas/StaticDataset' required: - dataset not: required: - job - run JobEvent: allOf: - $ref: '#/components/schemas/BaseEvent' - type: object properties: job: $ref: '#/components/schemas/Job' inputs: description: The set of **input** datasets. type: array items: $ref: '#/components/schemas/InputDataset' outputs: description: The set of **output** datasets. type: array items: $ref: '#/components/schemas/OutputDataset' required: - job not: required: - run