Class KafkaConnectClient
java.lang.Object
org.sourcelab.kafka.connect.apiclient.KafkaConnectClient
API Client for interacting with the Kafka-Connect Rest Endpoint.
Official Rest Endpoint documentation can be found here:
https://docs.confluent.io/current/connect/references/restapi.html
-
Constructor Summary
ConstructorsConstructorDescriptionKafkaConnectClient(Configuration configuration) Default Constructor.KafkaConnectClient(Configuration configuration, RestClient restClient) Constructor for injecting a RestClient implementation. -
Method Summary
Modifier and TypeMethodDescriptionaddConnector(NewConnectorDefinition connectorDefinition) Create a new connector, returning the current connector info if successful.deleteConnector(String connectorName) Delete a connector.getConnector(String connectorName) Get information about the connector.getConnectorConfig(String connectorName) Get the configuration for the connector.Return a list of connector plugins installed in the Kafka Connect cluster.Get a list of deployed connectors.getConnectorStatus(String connectorName) Get the status of specified connector by name.Get a list of deployed connectors, including all metadata available.Get a list of deployed connectors, including the definition for each connector.Get a list of deployed connectors, including the status for each connector.getConnectorTasks(String connectorName) Get a list of tasks currently running for the connector.getConnectorTaskStatus(String connectorName, int taskId) Get a task’s status.getConnectorTopics(String connectorName) Get the set of topics that a specific connector is using since the connector was created or since a request to reset its set of active topics was issued.Retrieve details about the Kafka-Connect service itself.pauseConnector(String connectorName) Pause a connector.booleanresetConnectorTopics(String connectorName) Send a request to empty the set of active topics of a connector.restartConnector(String connectorName) Restart a connector.restartConnector(PostConnectorRestart connectorRestartRequest) Restart a connector.restartConnectorTask(String connectorName, int taskId) Restart an individual task.resumeConnector(String connectorName) Resume a connector.updateConnectorConfig(String connectorName, Map<String, String> config) Update a connector's configuration.validateConnectorPluginConfig(ConnectorPluginConfigDefinition configDefinition) Validate the provided configuration values against the configuration definition.
-
Constructor Details
-
KafkaConnectClient
Default Constructor.- Parameters:
configuration- Api Client Configuration.
-
KafkaConnectClient
Constructor for injecting a RestClient implementation. Typically only used in testing.- Parameters:
configuration- Api Client Configuration.restClient- RestClient implementation to use.
-
-
Method Details
-
getConnectServerVersion
Retrieve details about the Kafka-Connect service itself. https://docs.confluent.io/current/connect/references/restapi.html#get--- Returns:
- ConnectServerVersion
-
getConnectors
Get a list of deployed connectors. https://docs.confluent.io/current/connect/references/restapi.html#get--connectors- Returns:
- Collection of connector names currently deployed.
-
getConnectorsWithExpandedStatus
Get a list of deployed connectors, including the status for each connector. https://docs.confluent.io/current/connect/references/restapi.html#get--connectors Requires Kafka-Connect 2.3.0+- Returns:
- All deployed connectors, and their respective statuses.
-
getConnectorsWithExpandedInfo
Get a list of deployed connectors, including the definition for each connector. https://docs.confluent.io/current/connect/references/restapi.html#get--connectors Requires Kafka-Connect 2.3.0+- Returns:
- All deployed connectors, and their respective definition.
-
getConnectorsWithAllExpandedMetadata
Get a list of deployed connectors, including all metadata available. Currently includes both 'info' and 'status' metadata. https://docs.confluent.io/current/connect/references/restapi.html#get--connectors Requires Kafka-Connect 2.3.0+- Returns:
- All deployed connectors, and their respective metadata.
-
getConnector
Get information about the connector. https://docs.confluent.io/current/connect/references/restapi.html#get--connectors-(string-name)- Parameters:
connectorName- Name of connector.- Returns:
- Connector details.
-
getConnectorConfig
Get the configuration for the connector. https://docs.confluent.io/current/connect/references/restapi.html#get--connectors-(string-name)-config- Parameters:
connectorName- Name of connector.- Returns:
- Configuration for connector.
-
getConnectorStatus
Get the status of specified connector by name. https://docs.confluent.io/current/connect/references/restapi.html#get--connectors-(string-name)-config- Parameters:
connectorName- Name of connector.- Returns:
- Status details of the connector.
-
getConnectorTopics
Get the set of topics that a specific connector is using since the connector was created or since a request to reset its set of active topics was issued. https://docs.confluent.io/current/connect/references/restapi.html#get--connectors-(string-name)-topics Requires Kafka-Connect 2.5.0+- Parameters:
connectorName- Name of connector.- Returns:
- Connector Topics response.
-
resetConnectorTopics
Send a request to empty the set of active topics of a connector. https://docs.confluent.io/current/connect/references/restapi.html#put--connectors-(string-name)-topics-reset Requires Kafka-Connect 2.5.0+- Parameters:
connectorName- Name of connector.- Returns:
- true on success.
-
addConnector
Create a new connector, returning the current connector info if successful. https://docs.confluent.io/current/connect/references/restapi.html#post--connectors- Parameters:
connectorDefinition- Defines the new connector to deploy- Returns:
- connector info.
-
updateConnectorConfig
Update a connector's configuration. https://docs.confluent.io/current/connect/references/restapi.html#put--connectors-(string-name)-config- Parameters:
connectorName- Name of connector to update.config- Configuration values to set.- Returns:
- ConnectorDefinition describing the connectors configuration.
-
restartConnector
Restart a connector. https://docs.confluent.io/current/connect/references/restapi.html#post--connectors-(string-name)-restart- Parameters:
connectorName- Name of connector to restart.- Returns:
- Boolean true if success.
-
restartConnector
Restart a connector. https://docs.confluent.io/current/connect/references/restapi.html#post--connectors-(string-name)-restart- Parameters:
connectorRestartRequest- Defines the connector restart request.- Returns:
- Boolean true if success.
-
pauseConnector
Pause a connector. https://docs.confluent.io/current/connect/references/restapi.html#put--connectors-(string-name)-pause- Parameters:
connectorName- Name of connector to pause.- Returns:
- Boolean true if success.
-
resumeConnector
Resume a connector. https://docs.confluent.io/current/connect/references/restapi.html#put--connectors-(string-name)-resume- Parameters:
connectorName- Name of connector to resume.- Returns:
- Boolean true if success.
-
deleteConnector
Delete a connector. https://docs.confluent.io/platform/current/connect/references/restapi.html#delete--connectors-(string-name)-- Parameters:
connectorName- Name of connector to resume.- Returns:
- Boolean true if success.
-
getConnectorTasks
Get a list of tasks currently running for the connector. https://docs.confluent.io/current/connect/references/restapi.html#get--connectors-(string-name)-tasks- Parameters:
connectorName- Name of connector to retrieve tasks for.- Returns:
- Collection of details about each task.
-
getConnectorTaskStatus
Get a task’s status. https://docs.confluent.io/current/connect/references/restapi.html#get--connectors-(string-name)-tasks-(int-taskid)-status- Parameters:
connectorName- Name of connector to retrieve tasks for.taskId- Id of task to get status for.- Returns:
- Details about task.
-
restartConnectorTask
Restart an individual task. https://docs.confluent.io/current/connect/references/restapi.html#post--connectors-(string-name)-tasks-(int-taskid)-restart- Parameters:
connectorName- Name of connector to restart tasks for.taskId- Id of task to restart- Returns:
- True if a success.
-
getConnectorPlugins
Return a list of connector plugins installed in the Kafka Connect cluster. https://docs.confluent.io/current/connect/references/restapi.html#get--connector-plugins-- Returns:
- Collection of available connector plugins.
-
validateConnectorPluginConfig
public ConnectorPluginConfigValidationResults validateConnectorPluginConfig(ConnectorPluginConfigDefinition configDefinition) Validate the provided configuration values against the configuration definition. This API performs per config validation, returns suggested values and error messages during validation. https://docs.confluent.io/current/connect/references/restapi.html#put--connector-plugins-(string-name)-config-validate- Parameters:
configDefinition- Defines the configuration to validate.- Returns:
- Results of the validation.
-