From 8decd2338f6f2987c70c20bd38458cfa3225eb93 Mon Sep 17 00:00:00 2001 From: Ayush Shah Date: Tue, 10 Sep 2024 17:41:28 +0530 Subject: [PATCH] MINOR: Add Matillion test connection and schema for pipeline service (#17710) --- .../testConnections/pipeline/matillion.json | 14 ++++ .../pipeline/matillionConnection.json | 78 +++++++++++++++++++ .../entity/services/pipelineService.json | 9 ++- 3 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 openmetadata-service/src/main/resources/json/data/testConnections/pipeline/matillion.json create mode 100644 openmetadata-spec/src/main/resources/json/schema/entity/services/connections/pipeline/matillionConnection.json diff --git a/openmetadata-service/src/main/resources/json/data/testConnections/pipeline/matillion.json b/openmetadata-service/src/main/resources/json/data/testConnections/pipeline/matillion.json new file mode 100644 index 00000000000..3d889491b35 --- /dev/null +++ b/openmetadata-service/src/main/resources/json/data/testConnections/pipeline/matillion.json @@ -0,0 +1,14 @@ +{ + "name": "Matillion", + "displayName": "Matillion Test Connection", + "description": "This Test Connection validates the access against the server and basic metadata extraction of pipelines.", + "steps": [ + { + "name": "CheckAccess", + "description": "Check if the instance is reachable to fetch the pipeline details.", + "errorMessage": "Failed to connect to Matillion, please validate the credentials", + "shortCircuit": true, + "mandatory": true + } + ] +} \ No newline at end of file diff --git a/openmetadata-spec/src/main/resources/json/schema/entity/services/connections/pipeline/matillionConnection.json b/openmetadata-spec/src/main/resources/json/schema/entity/services/connections/pipeline/matillionConnection.json new file mode 100644 index 00000000000..0a7fb06d71e --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/entity/services/connections/pipeline/matillionConnection.json @@ -0,0 +1,78 @@ +{ + "$id": "https://open-metadata.org/schema/entity/services/connections/pipeline/matillionConnection.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "MatillionConnection", + "description": "Matillion Connection", + "type": "object", + "javaType": "org.openmetadata.schema.services.connections.pipeline.MatillionConnection", + "definitions": { + "matillionType": { + "description": "Service type.", + "type": "string", + "enum": [ + "Matillion" + ], + "default": "Matillion" + }, + "matillionETL": { + "description": "Matillion ETL Auth Config", + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "MatillionETL" + ], + "default": "MatillionETL" + }, + "hostPort": { + "type": "string", + "title": "Host", + "description": "Matillion Host", + "default": "localhost" + }, + "username": { + "title": "Username", + "description": "Username to connect to the Matillion. This user should have privileges to read all the metadata in Matillion.", + "type": "string" + }, + "password": { + "title": "Password", + "description": "Password to connect to the Matillion.", + "type": "string", + "format": "password" + }, + "sslConfig": { + "$ref": "../../../../security/ssl/verifySSLConfig.json#/definitions/sslConfig" + } + }, + "required": [ + "hostPort", + "username", + "password" + ] + } + }, + "properties": { + "type": { + "title": "Service Type", + "description": "Service Type", + "$ref": "#/definitions/matillionType", + "default": "Matillion" + }, + "connection": { + "title": "Matillion Connection", + "description": "Matillion Auth Configuration", + "oneOf": [ + { + "$ref": "#/definitions/matillionETL" + } + ] + }, + "supportsMetadataExtraction": { + "title": "Supports Metadata Extraction", + "$ref": "../connectionBasicType.json#/definitions/supportsMetadataExtraction" + } + }, + "additionalProperties": false +} \ No newline at end of file diff --git a/openmetadata-spec/src/main/resources/json/schema/entity/services/pipelineService.json b/openmetadata-spec/src/main/resources/json/schema/entity/services/pipelineService.json index c822f23db56..826eff00d8e 100644 --- a/openmetadata-spec/src/main/resources/json/schema/entity/services/pipelineService.json +++ b/openmetadata-spec/src/main/resources/json/schema/entity/services/pipelineService.json @@ -31,7 +31,8 @@ "Spark", "OpenLineage", "KafkaConnect", - "DBTCloud" + "DBTCloud", + "Matillion" ], "javaEnums": [ { @@ -78,6 +79,9 @@ }, { "name": "DBTCloud" + }, + { + "name": "Matillion" } ] }, @@ -136,6 +140,9 @@ }, { "$ref": "./connections/pipeline/dbtCloudConnection.json" + }, + { + "$ref": "./connections/pipeline/matillionConnection.json" } ] }