Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"name": "SapSuccessFactors",
"displayName": "SAP SuccessFactors Test Connection",
"description": "This Test Connection validates the access against the SAP SuccessFactors OData API and basic metadata extraction of entity types.",
"steps": [
{
"name": "CheckAccess",
"description": "Validate that we can properly reach the SAP SuccessFactors OData API and authenticate with the given credentials by fetching the $metadata endpoint.",
"errorMessage": "Failed to connect to SAP SuccessFactors. Please validate the base URL, company ID, and credentials.",
"shortCircuit": true,
"mandatory": true
},
{
"name": "GetEntities",
"description": "Validate that we can parse the OData $metadata response and discover at least one EntitySet (table).",
"errorMessage": "Failed to parse SAP SuccessFactors $metadata. The response may be empty or malformed.",
"shortCircuit": false,
"mandatory": true
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
{
"$id": "https://open-metadata.org/schema/entity/services/connections/database/sapSuccessFactorsConnection.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "SapSuccessFactorsConnection",
"description": "SAP SuccessFactors Connection Config",
"type": "object",
"javaType": "org.openmetadata.schema.services.connections.database.SapSuccessFactorsConnection",
"definitions": {
"sapSuccessFactorsType": {
"description": "Service type.",
"type": "string",
"enum": [
"SapSuccessFactors"
],
"default": "SapSuccessFactors"
},
"authType": {
"description": "Authentication type to connect to SAP SuccessFactors.",
"type": "string",
"enum": [
"OAuth2Credentials",
"BasicAuth"
],
"default": "BasicAuth"
}
},
"properties": {
"type": {
"title": "Service Type",
"description": "Service Type",
"$ref": "#/definitions/sapSuccessFactorsType",
"default": "SapSuccessFactors"
},
"baseUrl": {
"title": "Base URL",
"description": "SAP SuccessFactors OData API base URL. For example: https://api4.successfactors.com",
"type": "string",
"format": "uri"
},
"companyId": {
"title": "Company ID",
"description": "SAP SuccessFactors Company ID (tenant identifier). Required for all API calls.",
"type": "string"
},
"authType": {
"title": "Authentication Type",
"description": "Choose how to authenticate with SAP SuccessFactors OData API.",
"$ref": "#/definitions/authType",
"default": "BasicAuth"
},
"username": {
"title": "Username",
"description": "SAP SuccessFactors user login name. For BasicAuth: used as the credential username. For OAuth2Credentials: used as the SAML NameID — the user on whose behalf the token is requested. The user must exist in the SF system and be permitted to use the OAuth2 application.",
"type": "string"
},
"password": {
"title": "Password",
"description": "Password for BasicAuth authentication. Required when authType is BasicAuth.",
"type": "string",
"format": "password"
},
"clientId": {
"title": "Client ID",
"description": "OAuth2 Client ID. Required when authType is OAuth2Credentials.",
"type": "string"
},
"privateKey": {
"title": "Private Key",
"description": "PEM-encoded RSA private key used to sign SAML assertions for OAuth2 SAML Bearer flow. Required when authType is OAuth2Credentials.",
"type": "string",
"format": "password"
},
"tokenUrl": {
"title": "Token URL",
"description": "OAuth2 Token endpoint URL. Required when authType is OAuth2Credentials. For example: https://api4.successfactors.com/oauth/token",
"type": "string",
"format": "uri"
},
"apiVersion": {
"title": "API Version",
"description": "SAP SuccessFactors OData API version.",
"type": "string",
"default": "v2"
},
"databaseName": {
"title": "Database Name",
"description": "Optional name to give to the database in OpenMetadata. If left blank, we will use default as the database name.",
"type": "string"
},
"verifySSL": {
"title": "Verify SSL",
"description": "Client SSL verification.",
"$ref": "../../../../security/ssl/verifySSLConfig.json#/definitions/verifySSL",
"default": "no-ssl"
},
"sslConfig": {
"title": "SSL Configuration",
"description": "SSL Configuration details.",
"$ref": "../../../../security/ssl/verifySSLConfig.json#/definitions/sslConfig"
},
"connectionOptions": {
"title": "Connection Options",
"$ref": "../connectionBasicType.json#/definitions/connectionOptions"
},
"connectionArguments": {
"title": "Connection Arguments",
"$ref": "../connectionBasicType.json#/definitions/connectionArguments"
},
"tableFilterPattern": {
"title": "Default Table Filter Pattern",
"description": "Regex to only include/exclude tables that matches the pattern.",
"$ref": "../../../../type/filterPattern.json#/definitions/filterPattern"
},
"supportsMetadataExtraction": {
"title": "Supports Metadata Extraction",
"$ref": "../connectionBasicType.json#/definitions/supportsMetadataExtraction"
}
},
"required": ["baseUrl", "companyId", "username"],
"additionalProperties": false
}
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
"CustomDatabase",
"Dbt",
"SapHana",
"SapSuccessFactors",
"MongoDB",
"Cassandra",
"Couchbase",
Expand Down Expand Up @@ -178,6 +179,9 @@
{
"name": "SapHana"
},
{
"name": "SapSuccessFactors"
},
{
"name": "MongoDB"
},
Expand Down Expand Up @@ -325,6 +329,9 @@
{
"$ref": "./connections/database/salesforceConnection.json"
},
{
"$ref": "./connections/database/sapSuccessFactorsConnection.json"
},
{
"$ref": "./connections/database/singleStoreConnection.json"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,7 @@ export const BETA_SERVICES = [
DatabaseServiceType.Ssas,
DatabaseServiceType.Epic,
DashboardServiceType.Hex,
DatabaseServiceType.SapSuccessFactors,
DatabaseServiceType.ServiceNow,
DatabaseServiceType.Dremio,
MetadataServiceType.Collibra,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,8 @@ export interface RequestConnection {
*
* Salesforce Connection Config
*
* SAP SuccessFactors Connection Config
*
* SingleStore Database Connection Config
*
* Snowflake Connection Config
Expand Down Expand Up @@ -533,10 +535,10 @@ export interface ConfigObject {
/**
* Client SSL verification. Make sure to configure the SSLConfig if enabled.
*
* Boolean marking if we need to verify the SSL certs for Grafana. Default to True.
*
* Client SSL verification.
*
* Boolean marking if we need to verify the SSL certs for Grafana. Default to True.
*
* Client SSL verification. Use 'no-ssl' for plain HTTP, 'ignore' to skip certificate
* validation, 'validate' to verify against a CA certificate.
*
Expand Down Expand Up @@ -904,6 +906,8 @@ export interface ConfigObject {
*
* Password to connect to Salesforce.
*
* Password for BasicAuth authentication. Required when authType is BasicAuth.
*
* Password to connect to SingleStore.
*
* Password to connect to Snowflake.
Expand Down Expand Up @@ -1000,6 +1004,11 @@ export interface ConfigObject {
* Username to connect to Salesforce. This user should have privileges to read all the
* metadata in Salesforce.
*
* SAP SuccessFactors user login name. For BasicAuth: used as the credential username. For
* OAuth2Credentials: used as the SAML NameID — the user on whose behalf the token is
* requested. The user must exist in the SF system and be permitted to use the OAuth2
* application.
*
* Username to connect to SingleStore. This user should have privileges to read all the
* metadata in MySQL.
*
Expand Down Expand Up @@ -1120,6 +1129,8 @@ export interface ConfigObject {
*
* Choose Auth Configuration Type.
*
* Choose how to authenticate with SAP SuccessFactors OData API.
*
* Choose between Dremio Cloud (SaaS) or Dremio Software (self-hosted) authentication.
*
* Types of methods used to authenticate to the tableau instance
Expand Down Expand Up @@ -1346,6 +1357,58 @@ export interface ConfigObject {
* fetched. Leave empty to fetch all objects (subject to tableFilterPattern).
*/
sobjectNames?: string[];
/**
* SAP SuccessFactors OData API version.
*
* Tableau API version. If not provided, the version will be used from the tableau server.
*
* Sigma API version.
*
* ThoughtSpot API version to use
*
* Airbyte API version.
*
* OpenMetadata server API version to use.
*/
apiVersion?: string;
/**
* SAP SuccessFactors OData API base URL. For example: https://api4.successfactors.com
*/
baseUrl?: string;
/**
* OAuth2 Client ID. Required when authType is OAuth2Credentials.
*
* Client ID for DOMO
*
* Azure Application (client) ID for service principal authentication.
*
* Azure Application (client) ID for Service Principal authentication.
*
* User's Client ID. This user should have privileges to read all the metadata in Looker.
*
* client_id for PowerBI.
*
* client_id for Sigma.
*
* Application (client) ID from Azure Active Directory
*/
clientId?: string;
/**
* SAP SuccessFactors Company ID (tenant identifier). Required for all API calls.
*/
companyId?: string;
/**
* PEM-encoded RSA private key used to sign SAML assertions for OAuth2 SAML Bearer flow.
* Required when authType is OAuth2Credentials.
*
* Connection to Snowflake instance via Private Key
*/
privateKey?: string;
/**
* OAuth2 Token endpoint URL. Required when authType is OAuth2Credentials. For example:
* https://api4.successfactors.com/oauth/token
*/
tokenUrl?: string;
/**
* If the Snowflake URL is https://xyz1234.us-east-1.gcp.snowflakecomputing.com, then the
* account is xyz1234.us-east-1.gcp
Expand Down Expand Up @@ -1382,10 +1445,6 @@ export interface ConfigObject {
* TRANSIENT tables.
*/
includeTransientTables?: boolean;
/**
* Connection to Snowflake instance via Private Key
*/
privateKey?: string;
/**
* Session query tag used to monitor usage on snowflake. To use a query tag snowflake user
* should have enough privileges to alter the session.
Expand Down Expand Up @@ -1439,22 +1498,6 @@ export interface ConfigObject {
* API Host to connect to DOMO instance
*/
apiHost?: string;
/**
* Client ID for DOMO
*
* Azure Application (client) ID for service principal authentication.
*
* Azure Application (client) ID for Service Principal authentication.
*
* User's Client ID. This user should have privileges to read all the metadata in Looker.
*
* client_id for PowerBI.
*
* client_id for Sigma.
*
* Application (client) ID from Azure Active Directory
*/
clientId?: string;
/**
* URL of your Domo instance, e.g., https://openmetadata.domo.com
*/
Expand Down Expand Up @@ -1688,18 +1731,6 @@ export interface ConfigObject {
* Version of the Redash instance
*/
redashVersion?: string;
/**
* Tableau API version. If not provided, the version will be used from the tableau server.
*
* Sigma API version.
*
* ThoughtSpot API version to use
*
* Airbyte API version.
*
* OpenMetadata server API version to use.
*/
apiVersion?: string;
/**
* Proxy URL for the tableau server. If not provided, the hostPort will be used. This is
* used to generate the dashboard & Chart URL.
Expand Down Expand Up @@ -3036,10 +3067,16 @@ export enum CloudRegion {
}

/**
* Choose how to authenticate with SAP SuccessFactors OData API.
*
* Authentication type to connect to SAP SuccessFactors.
*
* Database Authentication types not requiring config.
*/
export enum NoConfigAuthenticationTypes {
BasicAuth = "BasicAuth",
OAuth2 = "OAuth2",
OAuth2Credentials = "OAuth2Credentials",
}

/**
Expand Down Expand Up @@ -5062,6 +5099,7 @@ export enum ConfigType {
SapERP = "SapErp",
SapHana = "SapHana",
SapS4Hana = "SapS4Hana",
SapSuccessFactors = "SapSuccessFactors",
ServiceNow = "ServiceNow",
SharePoint = "SharePoint",
Sigma = "Sigma",
Expand Down
Loading
Loading