mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2026-01-07 21:16:45 +00:00
* Adds followers to services and database schema * Add delete and followers fields * Add missing fields * Fix failing test for get entity with different fields * Fix ingestion test case failure
149 lines
4.8 KiB
JSON
149 lines
4.8 KiB
JSON
{
|
|
"$id": "https://open-metadata.org/schema/entity/services/apiService.json",
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "Api Service",
|
|
"description": "This schema defines the API Service entity, to capture metadata from any REST API Services.",
|
|
"type": "object",
|
|
"javaType": "org.openmetadata.schema.entity.services.ApiService",
|
|
"javaInterfaces": [
|
|
"org.openmetadata.schema.EntityInterface",
|
|
"org.openmetadata.schema.ServiceEntityInterface"
|
|
],
|
|
"definitions": {
|
|
"apiServiceType": {
|
|
"description": "Type of api service such as REST, Webhook,...",
|
|
"javaInterfaces": [
|
|
"org.openmetadata.schema.EnumInterface"
|
|
],
|
|
"type": "string",
|
|
"enum": [
|
|
"Rest",
|
|
"WEBHOOK"
|
|
],
|
|
"javaEnums": [
|
|
{
|
|
"name": "Rest"
|
|
},
|
|
{
|
|
"name": "WEBHOOK"
|
|
}
|
|
]
|
|
},
|
|
"apiConnection": {
|
|
"type": "object",
|
|
"javaType": "org.openmetadata.schema.type.ApiConnection",
|
|
"description": "API Service Connection.",
|
|
"javaInterfaces": [
|
|
"org.openmetadata.schema.ServiceConnectionEntityInterface"
|
|
],
|
|
"properties": {
|
|
"config": {
|
|
"mask": true,
|
|
"oneOf": [
|
|
{
|
|
"$ref": "./connections/api/restConnection.json"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"properties": {
|
|
"id": {
|
|
"description": "Unique identifier of this API service instance.",
|
|
"$ref": "../../type/basic.json#/definitions/uuid"
|
|
},
|
|
"name": {
|
|
"description": "Name that identifies this API service.",
|
|
"$ref": "../../type/basic.json#/definitions/entityName"
|
|
},
|
|
"fullyQualifiedName": {
|
|
"description": "FullyQualifiedName same as `name`.",
|
|
"$ref": "../../type/basic.json#/definitions/fullyQualifiedEntityName"
|
|
},
|
|
"displayName": {
|
|
"description": "Display Name that identifies this API service.",
|
|
"type": "string"
|
|
},
|
|
"serviceType": {
|
|
"description": "Type of API service such as REST, WEBHOOK..",
|
|
"$ref": "#/definitions/apiServiceType"
|
|
},
|
|
"description": {
|
|
"description": "Description of a API service instance.",
|
|
"$ref": "../../type/basic.json#/definitions/markdown"
|
|
},
|
|
"connection": {
|
|
"$ref": "#/definitions/apiConnection"
|
|
},
|
|
"pipelines": {
|
|
"description": "References to pipelines deployed for this API service to extract metadata, usage, lineage etc..",
|
|
"$ref": "../../type/entityReferenceList.json"
|
|
},
|
|
"testConnectionResult": {
|
|
"description": "Last test connection results for this service",
|
|
"$ref": "connections/testConnectionResult.json"
|
|
},
|
|
"tags": {
|
|
"description": "Tags for this API Service.",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "../../type/tagLabel.json"
|
|
},
|
|
"default": []
|
|
},
|
|
"followers": {
|
|
"description": "Followers of this entity.",
|
|
"$ref": "../../type/entityReferenceList.json"
|
|
},
|
|
"version": {
|
|
"description": "Metadata version of the entity.",
|
|
"$ref": "../../type/entityHistory.json#/definitions/entityVersion"
|
|
},
|
|
"updatedAt": {
|
|
"description": "Last update time corresponding to the new version of the entity in Unix epoch time milliseconds.",
|
|
"$ref": "../../type/basic.json#/definitions/timestamp"
|
|
},
|
|
"updatedBy": {
|
|
"description": "User who made the update.",
|
|
"type": "string"
|
|
},
|
|
"href": {
|
|
"description": "Link to the resource corresponding to this API service.",
|
|
"$ref": "../../type/basic.json#/definitions/href"
|
|
},
|
|
"owners": {
|
|
"description": "Owners of this API service.",
|
|
"$ref": "../../type/entityReferenceList.json"
|
|
},
|
|
"changeDescription": {
|
|
"description": "Change that lead to this version of the entity.",
|
|
"$ref": "../../type/entityHistory.json#/definitions/changeDescription"
|
|
},
|
|
"incrementalChangeDescription": {
|
|
"description": "Change that lead to this version of the entity.",
|
|
"$ref": "../../type/entityHistory.json#/definitions/changeDescription"
|
|
},
|
|
"deleted": {
|
|
"description": "When `true` indicates the entity has been soft deleted.",
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"dataProducts" : {
|
|
"description": "List of data products this entity is part of.",
|
|
"$ref" : "../../type/entityReferenceList.json"
|
|
},
|
|
"domain" : {
|
|
"description": "Domain the API service belongs to.",
|
|
"$ref": "../../type/entityReference.json"
|
|
},
|
|
"ingestionRunner" : {
|
|
"description": "The ingestion agent responsible for executing the ingestion pipeline.",
|
|
"$ref": "../../type/entityReference.json"
|
|
}
|
|
},
|
|
"required": ["id", "name", "serviceType"],
|
|
"additionalProperties": false
|
|
}
|