Class IntegrationDaemon
java.lang.Object
org.odpi.openmetadata.governanceservers.integrationdaemonservices.client.IntegrationDaemon
IntegrationDaemon is the client library for the Integration Daemon's REST API. The integration daemon is an OMAG Server.
It runs one-to-many integration services that in turn manage one-to-many integration connectors. Each integration service
focuses on a particular type of third party technology and is paired with an appropriate OMAS.
The refresh commands are used to instruct the connectors running in the integration daemon to verify the consistency
of the metadata in the third party technology against the values in open metadata. All connectors are requested
to refresh when the integration daemon first starts. Then refresh is called on the schedule defined in the configuration
and lastly as a result of calls to this API.
-
Constructor Summary
ConstructorsConstructorDescriptionIntegrationDaemon(String serverName, String serverPlatformRootURL, String secretStoreProvider, String secretStoreLocation, String secretStoreCollection, AuditLog auditLog) Create a new client with bearer token authentication embedded in the HTTP request.IntegrationDaemon(String serverName, String serverPlatformRootURL, Map<String, SecretsStoreConnector> secretsStoreConnectorMap, AuditLog auditLog) Create a new client with bearer token authentication embedded in the HTTP request. -
Method Summary
Modifier and TypeMethodDescriptiongetConfigurationProperties(String connectorName) Retrieve the configuration properties of the named connector.Return a summary of each of the integration services' and integration groups' status.Retrieve the description and status of each integration group assigned to the Integration Daemon.getIntegrationGroupSummary(String integrationGroupName) Retrieve the description and status of the requested integration group.voidpublishOpenLineageEvent(io.openlineage.client.OpenLineage.RunEvent event) Pass an open lineage event to the integration service.voidpublishOpenLineageEvent(String event) Pass an open lineage event to the integration service.voidrefreshConfig(String integrationGroupName) Request that the integration group refresh its configuration by calling the metadata server.voidrefreshConnector(String connectorName) Issue a refresh() request on a specific connectorvoidIssue a refresh() request on a connector running in the integration daemon.voidrestartConnector(String connectorName) Issue a restart() request on a specific connectorvoidIssue a restart() request on a connector running in the integration daemon.voidupdateConfigurationProperties(String connectorName, boolean isMergeUpdate, Map<String, Object> configurationProperties) Update the configuration properties of the connectors, or specific connector if a connector name is supplied.voidupdateConnectorConnection(String connectorName, Connection connection) Update the configuration properties of the connectors, or specific connector if a connector name is supplied.voidupdateEndpointNetworkAddress(String connectorName, String networkAddress) Update the configuration properties of the connectors, or specific connector if a connector name is supplied.validateConnector(String connectorProviderClassName) Validate the connector and return its connector type.
-
Constructor Details
-
IntegrationDaemon
public IntegrationDaemon(String serverName, String serverPlatformRootURL, String secretStoreProvider, String secretStoreLocation, String secretStoreCollection, AuditLog auditLog) throws InvalidParameterException Create a new client with bearer token authentication embedded in the HTTP request.- Parameters:
serverName- name of the server to connect toserverPlatformRootURL- the network address of the server running the OMAS REST servicesauditLog- logging destination- Throws:
InvalidParameterException- there is a problem creating the client-side components to issue any REST API calls.
-
IntegrationDaemon
public IntegrationDaemon(String serverName, String serverPlatformRootURL, Map<String, SecretsStoreConnector> secretsStoreConnectorMap, AuditLog auditLog) throws InvalidParameterExceptionCreate a new client with bearer token authentication embedded in the HTTP request.- Parameters:
serverName- name of the server to connect toserverPlatformRootURL- the network address of the server running the OMAS REST services- Throws:
InvalidParameterException- there is a problem creating the client-side components to issue any REST API calls.
-
-
Method Details
-
validateConnector
public ConnectorReport validateConnector(String connectorProviderClassName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Validate the connector and return its connector type.- Parameters:
connectorProviderClassName- name of a specific connector or null for all connectors- Returns:
- connector type and other capabilities for this connector
- Throws:
InvalidParameterException- the connector provider class name is not a valid connector fo this serviceUserNotAuthorizedException- user not authorized to issue this requestPropertyServerException- there was a problem detected by the integration service
-
getConfigurationProperties
public Map<String,Object> getConfigurationProperties(String connectorName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the configuration properties of the named connector.- Parameters:
connectorName- name of a specific connector or null for all connectors- Returns:
- property map
- Throws:
InvalidParameterException- the connector name is not recognizedUserNotAuthorizedException- user not authorized to issue this requestPropertyServerException- there was a problem detected by the integration daemon
-
updateConfigurationProperties
public void updateConfigurationProperties(String connectorName, boolean isMergeUpdate, Map<String, Object> configurationProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionUpdate the configuration properties of the connectors, or specific connector if a connector name is supplied.- Parameters:
connectorName- name of a specific connector or null for all connectorsisMergeUpdate- should the properties be merged into the existing properties or replace themconfigurationProperties- new configuration properties- Throws:
InvalidParameterException- the connector name is not recognizedUserNotAuthorizedExceptionPropertyServerException
-
updateEndpointNetworkAddress
public void updateEndpointNetworkAddress(String connectorName, String networkAddress) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the configuration properties of the connectors, or specific connector if a connector name is supplied.- Parameters:
connectorName- name of a specific connector or null for all connectorsnetworkAddress- new address- Throws:
InvalidParameterException- the connector name is not recognizedUserNotAuthorizedExceptionPropertyServerException
-
updateConnectorConnection
public void updateConnectorConnection(String connectorName, Connection connection) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the configuration properties of the connectors, or specific connector if a connector name is supplied.- Parameters:
connectorName- name of a specific connector or null for all connectorsconnection- new address- Throws:
InvalidParameterException- the connector name is not recognizedUserNotAuthorizedExceptionPropertyServerException
-
refreshConnector
public void refreshConnector(String connectorName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Issue a refresh() request on a specific connector- Throws:
InvalidParameterException- one of the parameters is null or invalidUserNotAuthorizedException- user not authorized to issue this requestPropertyServerException- there was a problem detected by the integration daemon
-
refreshConnectors
public void refreshConnectors() throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionIssue a refresh() request on a connector running in the integration daemon.- Throws:
InvalidParameterException- one of the parameters is null or invalidUserNotAuthorizedException- user not authorized to issue this requestPropertyServerException- there was a problem detected by the integration daemon
-
restartConnector
public void restartConnector(String connectorName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Issue a restart() request on a specific connector- Throws:
InvalidParameterException- one of the parameters is null or invalidUserNotAuthorizedException- user not authorized to issue this requestPropertyServerException- there was a problem detected by the integration daemon
-
restartConnectors
public void restartConnectors() throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionIssue a restart() request on a connector running in the integration daemon.- Throws:
InvalidParameterException- one of the parameters is null or invalidUserNotAuthorizedException- user not authorized to issue this requestPropertyServerException- there was a problem detected by the integration daemon
-
getIntegrationDaemonStatus
public IntegrationDaemonStatus getIntegrationDaemonStatus() throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionReturn a summary of each of the integration services' and integration groups' status.- Returns:
- list of statuses - one for each assigned integration service or integration group
- Throws:
InvalidParameterException- one of the parameters is null or invalidUserNotAuthorizedException- user not authorized to issue this requestPropertyServerException- there was a problem detected by the integration daemon
-
getIntegrationGroupSummary
public IntegrationGroupSummary getIntegrationGroupSummary(String integrationGroupName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the description and status of the requested integration group.- Parameters:
integrationGroupName- qualifiedName of the integration group to target- Returns:
- integration group summary
- Throws:
InvalidParameterException- no available instance for the requested serverUserNotAuthorizedException- user does not have access to the requested serverPropertyServerException- the service name is not known - indicating a logic error
-
getIntegrationGroupSummaries
public List<IntegrationGroupSummary> getIntegrationGroupSummaries() throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionRetrieve the description and status of each integration group assigned to the Integration Daemon.- Returns:
- list of integration group summaries
- Throws:
InvalidParameterException- no available instance for the requested serverUserNotAuthorizedException- user does not have access to the requested serverPropertyServerException- the service name is not known - indicating a logic error
-
refreshConfig
public void refreshConfig(String integrationGroupName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Request that the integration group refresh its configuration by calling the metadata server. This request is useful if the metadata server has an outage, particularly while the integration daemon is initializing. This request just ensures that the latest configuration is in use.- Parameters:
integrationGroupName- qualifiedName of the integration group to target- Throws:
InvalidParameterException- one of the parameters is null or invalid.UserNotAuthorizedException- user not authorized to issue this request.PropertyServerException- there was a problem detected by the integration group.
-
publishOpenLineageEvent
public void publishOpenLineageEvent(io.openlineage.client.OpenLineage.RunEvent event) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Pass an open lineage event to the integration service. It will pass it on to the integration connectors that have registered a listener for open lineage events.- Parameters:
event- open lineage event to publish.- Throws:
InvalidParameterException- one of the parameters is null or invalidUserNotAuthorizedException- the caller is not authorized to call the servicePropertyServerException- there is a problem processing the request
-
publishOpenLineageEvent
public void publishOpenLineageEvent(String event) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Pass an open lineage event to the integration service. It will pass it on to the integration connectors that have registered a listener for open lineage events.- Parameters:
event- open lineage event to publish.- Throws:
InvalidParameterException- one of the parameters is null or invalidUserNotAuthorizedException- the caller is not authorized to call the servicePropertyServerException- there is a problem processing the request
-