diff --git a/openmetadata-service/src/main/resources/json/data/testConnections/database/sapsuccessfactors.json b/openmetadata-service/src/main/resources/json/data/testConnections/database/sapsuccessfactors.json new file mode 100644 index 000000000000..1a88dbb94c08 --- /dev/null +++ b/openmetadata-service/src/main/resources/json/data/testConnections/database/sapsuccessfactors.json @@ -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 + } + ] +} diff --git a/openmetadata-spec/src/main/resources/json/schema/entity/services/connections/database/sapSuccessFactorsConnection.json b/openmetadata-spec/src/main/resources/json/schema/entity/services/connections/database/sapSuccessFactorsConnection.json new file mode 100644 index 000000000000..1b4886e16a0e --- /dev/null +++ b/openmetadata-spec/src/main/resources/json/schema/entity/services/connections/database/sapSuccessFactorsConnection.json @@ -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 +} diff --git a/openmetadata-spec/src/main/resources/json/schema/entity/services/databaseService.json b/openmetadata-spec/src/main/resources/json/schema/entity/services/databaseService.json index 8cef874bd934..1c790e5d5735 100644 --- a/openmetadata-spec/src/main/resources/json/schema/entity/services/databaseService.json +++ b/openmetadata-spec/src/main/resources/json/schema/entity/services/databaseService.json @@ -50,6 +50,7 @@ "CustomDatabase", "Dbt", "SapHana", + "SapSuccessFactors", "MongoDB", "Cassandra", "Couchbase", @@ -178,6 +179,9 @@ { "name": "SapHana" }, + { + "name": "SapSuccessFactors" + }, { "name": "MongoDB" }, @@ -325,6 +329,9 @@ { "$ref": "./connections/database/salesforceConnection.json" }, + { + "$ref": "./connections/database/sapSuccessFactorsConnection.json" + }, { "$ref": "./connections/database/singleStoreConnection.json" }, diff --git a/openmetadata-ui/src/main/resources/ui/src/constants/ServiceType.constant.ts b/openmetadata-ui/src/main/resources/ui/src/constants/ServiceType.constant.ts index 54cc752034ef..4c60fa0323c1 100644 --- a/openmetadata-ui/src/main/resources/ui/src/constants/ServiceType.constant.ts +++ b/openmetadata-ui/src/main/resources/ui/src/constants/ServiceType.constant.ts @@ -180,6 +180,7 @@ export const BETA_SERVICES = [ DatabaseServiceType.Ssas, DatabaseServiceType.Epic, DashboardServiceType.Hex, + DatabaseServiceType.SapSuccessFactors, DatabaseServiceType.ServiceNow, DatabaseServiceType.Dremio, MetadataServiceType.Collibra, diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/api/automations/createWorkflow.ts b/openmetadata-ui/src/main/resources/ui/src/generated/api/automations/createWorkflow.ts index 2d97b70617eb..77dcbc6ba2ff 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/api/automations/createWorkflow.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/api/automations/createWorkflow.ts @@ -236,6 +236,8 @@ export interface RequestConnection { * * Salesforce Connection Config * + * SAP SuccessFactors Connection Config + * * SingleStore Database Connection Config * * Snowflake Connection Config @@ -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. * @@ -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. @@ -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. * @@ -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 @@ -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 @@ -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. @@ -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 */ @@ -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. @@ -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", } /** @@ -5062,6 +5099,7 @@ export enum ConfigType { SapERP = "SapErp", SapHana = "SapHana", SapS4Hana = "SapS4Hana", + SapSuccessFactors = "SapSuccessFactors", ServiceNow = "ServiceNow", SharePoint = "SharePoint", Sigma = "Sigma", diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createDatabaseService.ts b/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createDatabaseService.ts index ec992bfdd87d..996c384951c6 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createDatabaseService.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createDatabaseService.ts @@ -107,6 +107,8 @@ export interface DatabaseConnection { * * Salesforce Connection Config * + * SAP SuccessFactors Connection Config + * * SingleStore Database Connection Config * * Snowflake Connection Config @@ -463,6 +465,8 @@ export interface Connection { * * Password to connect to Salesforce. * + * Password for BasicAuth authentication. Required when authType is BasicAuth. + * * Password to connect to SingleStore. * * Password to connect to Snowflake. @@ -545,6 +549,11 @@ export interface Connection { * 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. * @@ -646,6 +655,8 @@ export interface Connection { * * Choose Auth Configuration Type. * + * Choose how to authenticate with SAP SuccessFactors OData API. + * * Choose between Dremio Cloud (SaaS) or Dremio Software (self-hosted) authentication. */ authType?: AuthenticationType | NoConfigAuthenticationTypes; @@ -853,6 +864,44 @@ export interface Connection { * fetched. Leave empty to fetch all objects (subject to tableFilterPattern). */ sobjectNames?: string[]; + /** + * SAP SuccessFactors OData API version. + */ + 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. + */ + 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; + /** + * Client SSL verification. + */ + verifySSL?: VerifySSL; /** * If the Snowflake URL is https://xyz1234.us-east-1.gcp.snowflakecomputing.com, then the * account is xyz1234.us-east-1.gcp @@ -889,10 +938,6 @@ export interface Connection { * 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. @@ -944,14 +989,6 @@ export interface Connection { * 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. - */ - clientId?: string; /** * URL of your Domo instance, e.g., https://openmetadata.domo.com */ @@ -1023,7 +1060,6 @@ export interface Connection { * Pagination limit used while querying the SAP ERP API for fetching the entities */ paginationLimit?: number; - verifySSL?: VerifySSL; /** * Azure Application client secret for service principal authentication. * @@ -1472,10 +1508,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", } export interface AuthenticationModeObject { @@ -2268,6 +2310,7 @@ export enum ConfigType { Salesforce = "Salesforce", SapERP = "SapErp", SapHana = "SapHana", + SapSuccessFactors = "SapSuccessFactors", ServiceNow = "ServiceNow", SingleStore = "SingleStore", Snowflake = "Snowflake", @@ -2282,6 +2325,8 @@ export enum ConfigType { } /** + * Client SSL verification. + * * Client SSL verification. Make sure to configure the SSLConfig if enabled. */ export enum VerifySSL { @@ -2398,6 +2443,7 @@ export enum DatabaseServiceType { Salesforce = "Salesforce", SapERP = "SapErp", SapHana = "SapHana", + SapSuccessFactors = "SapSuccessFactors", ServiceNow = "ServiceNow", SingleStore = "SingleStore", Snowflake = "Snowflake", diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/api/services/ingestionPipelines/createIngestionPipeline.ts b/openmetadata-ui/src/main/resources/ui/src/generated/api/services/ingestionPipelines/createIngestionPipeline.ts index 31a124dfe0c8..331710b15137 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/api/services/ingestionPipelines/createIngestionPipeline.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/api/services/ingestionPipelines/createIngestionPipeline.ts @@ -3071,6 +3071,8 @@ export interface ServiceConnection { * * Salesforce Connection Config * + * SAP SuccessFactors Connection Config + * * SingleStore Database Connection Config * * Snowflake Connection Config @@ -3355,6 +3357,8 @@ export interface ConfigObject { * * client_id for Sigma. * + * OAuth2 Client ID. Required when authType is OAuth2Credentials. + * * Azure Application (client) ID for service principal authentication. * * Azure Application (client) ID for Service Principal authentication. @@ -3586,6 +3590,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. @@ -3685,6 +3691,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. * @@ -3824,6 +3835,8 @@ export interface ConfigObject { * * ThoughtSpot API version to use * + * SAP SuccessFactors OData API version. + * * OpenMetadata server API version to use. * * Airbyte API version. @@ -3841,6 +3854,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 alation instance @@ -4417,6 +4432,26 @@ export interface ConfigObject { * fetched. Leave empty to fetch all objects (subject to tableFilterPattern). */ sobjectNames?: string[]; + /** + * SAP SuccessFactors OData API base URL. For example: https://api4.successfactors.com + */ + baseUrl?: 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 @@ -4453,10 +4488,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. @@ -5681,10 +5712,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", } /** @@ -7587,6 +7624,7 @@ export enum PurpleType { SapERP = "SapErp", SapHana = "SapHana", SapS4Hana = "SapS4Hana", + SapSuccessFactors = "SapSuccessFactors", ServiceNow = "ServiceNow", SharePoint = "SharePoint", Sigma = "Sigma", diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/configuration/aiPlatformConfiguration.ts b/openmetadata-ui/src/main/resources/ui/src/generated/configuration/aiPlatformConfiguration.ts index ef75b021c9f5..f1f5cb02eca5 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/configuration/aiPlatformConfiguration.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/configuration/aiPlatformConfiguration.ts @@ -89,11 +89,7 @@ export interface GrpcConfiguration { */ port: number; /** - * Deadline (minutes) Collate enforces on an AI Platform streaming response. Carried on the - * gRPC call, so the AI Platform reads it from context and wraps up gracefully. The chat - * lock sweeper uses streamDeadlineMinutes + 2 as its default stale-lock ceiling (override - * via COLLATE_CHAT_LOCK_MAX_DURATION_MINUTES). Capped at 60 minutes; for longer tasks - * prefer async job + polling over a single long-lived stream. + * Deadline (minutes) enforced on a streaming response from the gRPC server. */ streamDeadlineMinutes?: number; [property: string]: any; diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/automations/testServiceConnection.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/automations/testServiceConnection.ts index ad4f68112d44..c7932fd9356a 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/automations/testServiceConnection.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/automations/testServiceConnection.ts @@ -118,6 +118,8 @@ export interface TestServiceConnectionConnection { * * Salesforce Connection Config * + * SAP SuccessFactors Connection Config + * * SingleStore Database Connection Config * * Snowflake Connection Config @@ -415,10 +417,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. * @@ -786,6 +788,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. @@ -882,6 +886,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. * @@ -1002,6 +1011,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 @@ -1228,6 +1239,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 @@ -1264,10 +1327,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. @@ -1321,22 +1380,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 */ @@ -1570,18 +1613,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. @@ -2918,10 +2949,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", } /** @@ -4944,6 +4981,7 @@ export enum ConfigType { SapERP = "SapErp", SapHana = "SapHana", SapS4Hana = "SapS4Hana", + SapSuccessFactors = "SapSuccessFactors", ServiceNow = "ServiceNow", SharePoint = "SharePoint", Sigma = "Sigma", diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/automations/workflow.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/automations/workflow.ts index 6577953517fb..1285e5160e59 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/automations/workflow.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/automations/workflow.ts @@ -780,6 +780,8 @@ export interface RequestConnection { * * Salesforce Connection Config * + * SAP SuccessFactors Connection Config + * * SingleStore Database Connection Config * * Snowflake Connection Config @@ -1077,10 +1079,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. * @@ -1448,6 +1450,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. @@ -1544,6 +1548,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. * @@ -1664,6 +1673,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 @@ -1890,6 +1901,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 @@ -1926,10 +1989,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. @@ -1983,22 +2042,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 */ @@ -2232,18 +2275,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. @@ -3475,10 +3506,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", } /** @@ -5398,6 +5435,7 @@ export enum ConfigType { SapERP = "SapErp", SapHana = "SapHana", SapS4Hana = "SapS4Hana", + SapSuccessFactors = "SapSuccessFactors", ServiceNow = "ServiceNow", SharePoint = "SharePoint", Sigma = "Sigma", diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/database.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/database.ts index 3706fc757e0c..6efdd5eb6d2b 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/database.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/database.ts @@ -781,6 +781,7 @@ export enum DatabaseServiceType { Salesforce = "Salesforce", SapERP = "SapErp", SapHana = "SapHana", + SapSuccessFactors = "SapSuccessFactors", ServiceNow = "ServiceNow", SingleStore = "SingleStore", Snowflake = "Snowflake", diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/databaseSchema.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/databaseSchema.ts index d517dca7882d..d020dfd309f8 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/databaseSchema.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/databaseSchema.ts @@ -777,6 +777,7 @@ export enum DatabaseServiceType { Salesforce = "Salesforce", SapERP = "SapErp", SapHana = "SapHana", + SapSuccessFactors = "SapSuccessFactors", ServiceNow = "ServiceNow", SingleStore = "SingleStore", Snowflake = "Snowflake", diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/storedProcedure.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/storedProcedure.ts index ebb3f6769699..4ed6844dcadb 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/storedProcedure.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/storedProcedure.ts @@ -609,6 +609,7 @@ export enum DatabaseServiceType { Salesforce = "Salesforce", SapERP = "SapErp", SapHana = "SapHana", + SapSuccessFactors = "SapSuccessFactors", ServiceNow = "ServiceNow", SingleStore = "SingleStore", Snowflake = "Snowflake", diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/table.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/table.ts index 6474688f350d..5878f22aee98 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/table.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/table.ts @@ -1395,6 +1395,7 @@ export enum DatabaseServiceType { Salesforce = "Salesforce", SapERP = "SapErp", SapHana = "SapHana", + SapSuccessFactors = "SapSuccessFactors", ServiceNow = "ServiceNow", SingleStore = "SingleStore", Snowflake = "Snowflake", diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/connections/database/sapSuccessFactorsConnection.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/connections/database/sapSuccessFactorsConnection.ts new file mode 100644 index 000000000000..c1e97cebe77a --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/connections/database/sapSuccessFactorsConnection.ts @@ -0,0 +1,150 @@ +/* + * Copyright 2026 Collate. + * Licensed 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. + */ +/** + * SAP SuccessFactors Connection Config + */ +export interface SapSuccessFactorsConnection { + /** + * SAP SuccessFactors OData API version. + */ + apiVersion?: string; + /** + * Choose how to authenticate with SAP SuccessFactors OData API. + */ + authType?: AuthType; + /** + * SAP SuccessFactors OData API base URL. For example: https://api4.successfactors.com + */ + baseUrl: string; + /** + * OAuth2 Client ID. Required when authType is OAuth2Credentials. + */ + clientId?: string; + /** + * SAP SuccessFactors Company ID (tenant identifier). Required for all API calls. + */ + companyId: string; + connectionArguments?: { [key: string]: any }; + connectionOptions?: { [key: string]: string }; + /** + * Optional name to give to the database in OpenMetadata. If left blank, we will use default + * as the database name. + */ + databaseName?: string; + /** + * Password for BasicAuth authentication. Required when authType is BasicAuth. + */ + password?: string; + /** + * PEM-encoded RSA private key used to sign SAML assertions for OAuth2 SAML Bearer flow. + * Required when authType is OAuth2Credentials. + */ + privateKey?: string; + /** + * SSL Configuration details. + */ + sslConfig?: Config; + supportsMetadataExtraction?: boolean; + /** + * Regex to only include/exclude tables that matches the pattern. + */ + tableFilterPattern?: FilterPattern; + /** + * OAuth2 Token endpoint URL. Required when authType is OAuth2Credentials. For example: + * https://api4.successfactors.com/oauth/token + */ + tokenUrl?: string; + /** + * Service Type + */ + type?: SapSuccessFactorsType; + /** + * 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: string; + /** + * Client SSL verification. + */ + verifySSL?: VerifySSL; +} + +/** + * Choose how to authenticate with SAP SuccessFactors OData API. + * + * Authentication type to connect to SAP SuccessFactors. + */ +export enum AuthType { + BasicAuth = "BasicAuth", + OAuth2Credentials = "OAuth2Credentials", +} + +/** + * SSL Configuration details. + * + * Client SSL configuration + * + * OpenMetadata Client configured to validate SSL certificates. + */ +export interface Config { + /** + * The CA certificate used for SSL validation. + */ + caCertificate?: string; + /** + * The SSL certificate used for client authentication. + */ + sslCertificate?: string; + /** + * The private key associated with the SSL certificate. + */ + sslKey?: string; +} + +/** + * Regex to only include/exclude tables that matches the pattern. + * + * Regex to only fetch entities that matches the pattern. + */ +export interface FilterPattern { + /** + * List of strings/regex patterns to match and exclude only database entities that match. + */ + excludes?: string[]; + /** + * List of strings/regex patterns to match and include only database entities that match. + */ + includes?: string[]; +} + +/** + * Service Type + * + * Service type. + */ +export enum SapSuccessFactorsType { + SapSuccessFactors = "SapSuccessFactors", +} + +/** + * Client SSL verification. + * + * Client SSL verification. Make sure to configure the SSLConfig if enabled. + */ +export enum VerifySSL { + Ignore = "ignore", + NoSSL = "no-ssl", + Validate = "validate", +} diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/connections/serviceConnection.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/connections/serviceConnection.ts index e25a9f87ac34..df4396a1738f 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/connections/serviceConnection.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/connections/serviceConnection.ts @@ -147,6 +147,8 @@ export interface ServiceConnectionClass { * * Salesforce Connection Config * + * SAP SuccessFactors Connection Config + * * SingleStore Database Connection Config * * Snowflake Connection Config @@ -431,6 +433,8 @@ export interface ConfigObject { * * client_id for Sigma. * + * OAuth2 Client ID. Required when authType is OAuth2Credentials. + * * Azure Application (client) ID for service principal authentication. * * Azure Application (client) ID for Service Principal authentication. @@ -662,6 +666,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. @@ -761,6 +767,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. * @@ -900,6 +911,8 @@ export interface ConfigObject { * * ThoughtSpot API version to use * + * SAP SuccessFactors OData API version. + * * OpenMetadata server API version to use. * * Airbyte API version. @@ -917,6 +930,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 alation instance @@ -1493,6 +1508,26 @@ export interface ConfigObject { * fetched. Leave empty to fetch all objects (subject to tableFilterPattern). */ sobjectNames?: string[]; + /** + * SAP SuccessFactors OData API base URL. For example: https://api4.successfactors.com + */ + baseUrl?: 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 @@ -1529,10 +1564,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. @@ -2947,10 +2978,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", } /** @@ -5026,6 +5063,7 @@ export enum ConfigType { SapERP = "SapErp", SapHana = "SapHana", SapS4Hana = "SapS4Hana", + SapSuccessFactors = "SapSuccessFactors", ServiceNow = "ServiceNow", SharePoint = "SharePoint", Sigma = "Sigma", diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/databaseService.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/databaseService.ts index 8d4000f9bc6a..75a8ef234781 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/databaseService.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/databaseService.ts @@ -238,6 +238,8 @@ export interface DatabaseConnection { * * Salesforce Connection Config * + * SAP SuccessFactors Connection Config + * * SingleStore Database Connection Config * * Snowflake Connection Config @@ -594,6 +596,8 @@ export interface Connection { * * Password to connect to Salesforce. * + * Password for BasicAuth authentication. Required when authType is BasicAuth. + * * Password to connect to SingleStore. * * Password to connect to Snowflake. @@ -676,6 +680,11 @@ export interface Connection { * 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. * @@ -777,6 +786,8 @@ export interface Connection { * * Choose Auth Configuration Type. * + * Choose how to authenticate with SAP SuccessFactors OData API. + * * Choose between Dremio Cloud (SaaS) or Dremio Software (self-hosted) authentication. */ authType?: AuthenticationType | NoConfigAuthenticationTypes; @@ -984,6 +995,44 @@ export interface Connection { * fetched. Leave empty to fetch all objects (subject to tableFilterPattern). */ sobjectNames?: string[]; + /** + * SAP SuccessFactors OData API version. + */ + 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. + */ + 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; + /** + * Client SSL verification. + */ + verifySSL?: VerifySSL; /** * If the Snowflake URL is https://xyz1234.us-east-1.gcp.snowflakecomputing.com, then the * account is xyz1234.us-east-1.gcp @@ -1020,10 +1069,6 @@ export interface Connection { * 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. @@ -1075,14 +1120,6 @@ export interface Connection { * 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. - */ - clientId?: string; /** * URL of your Domo instance, e.g., https://openmetadata.domo.com */ @@ -1154,7 +1191,6 @@ export interface Connection { * Pagination limit used while querying the SAP ERP API for fetching the entities */ paginationLimit?: number; - verifySSL?: VerifySSL; /** * Azure Application client secret for service principal authentication. * @@ -1603,10 +1639,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", } export interface AuthenticationModeObject { @@ -2399,6 +2441,7 @@ export enum ConfigType { Salesforce = "Salesforce", SapERP = "SapErp", SapHana = "SapHana", + SapSuccessFactors = "SapSuccessFactors", ServiceNow = "ServiceNow", SingleStore = "SingleStore", Snowflake = "Snowflake", @@ -2413,6 +2456,8 @@ export enum ConfigType { } /** + * Client SSL verification. + * * Client SSL verification. Make sure to configure the SSLConfig if enabled. */ export enum VerifySSL { @@ -2546,6 +2591,7 @@ export enum DatabaseServiceType { Salesforce = "Salesforce", SapERP = "SapErp", SapHana = "SapHana", + SapSuccessFactors = "SapSuccessFactors", ServiceNow = "ServiceNow", SingleStore = "SingleStore", Snowflake = "Snowflake", diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/ingestionPipelines/ingestionPipeline.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/ingestionPipelines/ingestionPipeline.ts index b90f8938133f..3f4f856fb42e 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/ingestionPipelines/ingestionPipeline.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/ingestionPipelines/ingestionPipeline.ts @@ -3603,6 +3603,8 @@ export interface ServiceConnection { * * Salesforce Connection Config * + * SAP SuccessFactors Connection Config + * * SingleStore Database Connection Config * * Snowflake Connection Config @@ -3887,6 +3889,8 @@ export interface ConfigObject { * * client_id for Sigma. * + * OAuth2 Client ID. Required when authType is OAuth2Credentials. + * * Azure Application (client) ID for service principal authentication. * * Azure Application (client) ID for Service Principal authentication. @@ -4118,6 +4122,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. @@ -4217,6 +4223,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. * @@ -4356,6 +4367,8 @@ export interface ConfigObject { * * ThoughtSpot API version to use * + * SAP SuccessFactors OData API version. + * * OpenMetadata server API version to use. * * Airbyte API version. @@ -4373,6 +4386,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 alation instance @@ -4949,6 +4964,26 @@ export interface ConfigObject { * fetched. Leave empty to fetch all objects (subject to tableFilterPattern). */ sobjectNames?: string[]; + /** + * SAP SuccessFactors OData API base URL. For example: https://api4.successfactors.com + */ + baseUrl?: 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 @@ -4985,10 +5020,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. @@ -6194,10 +6225,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", } /** @@ -8057,6 +8094,7 @@ export enum PurpleType { SapERP = "SapErp", SapHana = "SapHana", SapS4Hana = "SapS4Hana", + SapSuccessFactors = "SapSuccessFactors", ServiceNow = "ServiceNow", SharePoint = "SharePoint", Sigma = "Sigma", diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/metadataIngestion/testSuitePipeline.ts b/openmetadata-ui/src/main/resources/ui/src/generated/metadataIngestion/testSuitePipeline.ts index eb9bd3269b1b..1e30d3ab8dfb 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/metadataIngestion/testSuitePipeline.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/metadataIngestion/testSuitePipeline.ts @@ -191,6 +191,8 @@ export interface ServiceConnection { * * Salesforce Connection Config * + * SAP SuccessFactors Connection Config + * * SingleStore Database Connection Config * * Snowflake Connection Config @@ -475,6 +477,8 @@ export interface ConfigObject { * * client_id for Sigma. * + * OAuth2 Client ID. Required when authType is OAuth2Credentials. + * * Azure Application (client) ID for service principal authentication. * * Azure Application (client) ID for Service Principal authentication. @@ -706,6 +710,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. @@ -805,6 +811,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. * @@ -944,6 +955,8 @@ export interface ConfigObject { * * ThoughtSpot API version to use * + * SAP SuccessFactors OData API version. + * * OpenMetadata server API version to use. * * Airbyte API version. @@ -961,6 +974,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 alation instance @@ -1537,6 +1552,26 @@ export interface ConfigObject { * fetched. Leave empty to fetch all objects (subject to tableFilterPattern). */ sobjectNames?: string[]; + /** + * SAP SuccessFactors OData API base URL. For example: https://api4.successfactors.com + */ + baseUrl?: 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 @@ -1573,10 +1608,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. @@ -2991,10 +3022,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", } /** @@ -5070,6 +5107,7 @@ export enum ConfigType { SapERP = "SapErp", SapHana = "SapHana", SapS4Hana = "SapS4Hana", + SapSuccessFactors = "SapSuccessFactors", ServiceNow = "ServiceNow", SharePoint = "SharePoint", Sigma = "Sigma", diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/metadataIngestion/workflow.ts b/openmetadata-ui/src/main/resources/ui/src/generated/metadataIngestion/workflow.ts index 2192bb25beb2..0e00f44f8445 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/metadataIngestion/workflow.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/metadataIngestion/workflow.ts @@ -236,6 +236,8 @@ export interface ServiceConnection { * * Salesforce Connection Config * + * SAP SuccessFactors Connection Config + * * SingleStore Database Connection Config * * Snowflake Connection Config @@ -520,6 +522,8 @@ export interface ConfigObject { * * client_id for Sigma. * + * OAuth2 Client ID. Required when authType is OAuth2Credentials. + * * Azure Application (client) ID for service principal authentication. * * Azure Application (client) ID for Service Principal authentication. @@ -751,6 +755,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. @@ -850,6 +856,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. * @@ -989,6 +1000,8 @@ export interface ConfigObject { * * ThoughtSpot API version to use * + * SAP SuccessFactors OData API version. + * * OpenMetadata server API version to use. * * Airbyte API version. @@ -1006,6 +1019,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 alation instance @@ -1582,6 +1597,26 @@ export interface ConfigObject { * fetched. Leave empty to fetch all objects (subject to tableFilterPattern). */ sobjectNames?: string[]; + /** + * SAP SuccessFactors OData API base URL. For example: https://api4.successfactors.com + */ + baseUrl?: 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 @@ -1618,10 +1653,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. @@ -3056,10 +3087,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", } /** @@ -5146,6 +5183,7 @@ export enum PurpleType { SapERP = "SapErp", SapHana = "SapHana", SapS4Hana = "SapS4Hana", + SapSuccessFactors = "SapSuccessFactors", ServiceNow = "ServiceNow", SharePoint = "SharePoint", Sigma = "Sigma", diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/ServiceUtilClassBase.ts b/openmetadata-ui/src/main/resources/ui/src/utils/ServiceUtilClassBase.ts index fc419448aa3b..0a445fb9e5b8 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/ServiceUtilClassBase.ts +++ b/openmetadata-ui/src/main/resources/ui/src/utils/ServiceUtilClassBase.ts @@ -107,6 +107,7 @@ class ServiceUtilClassBase { PipelineServiceType.Mulesoft, DatabaseServiceType.MicrosoftAccess, DashboardServiceType.SapS4Hana, + DatabaseServiceType.SapSuccessFactors, ]; DatabaseServiceTypeSmallCase = this.convertEnumToLowerCase<