streamtime_kafka_connect (Resource)
Kafka Connect for a Kafka cluster, to run connectors. Creating it deploys Kafka Connect and waits until it is ready. Changes to its settings are saved, but running Kafka Connect keeps its current settings until Streamtime can apply changes to running instances.
Example Usage
# Kafka Connect for an existing Kafka cluster, to run connectors. Apply waits until it is ready.
resource "streamtime_kafka_connect" "connect" {
identifier = "orders-connect"
kafka_id = streamtime_kafka.orders.identifier
connect_provider = "skc"
# Optional. Every setting has a default; for example, the connector plugin archives to install.
advanced_config = jsonencode({})
timeouts = {
create = "60m"
delete = "60m"
}
}
Schema
Required
connect_provider(String) Kafka Connect flavour: skc (open-source Apache Kafka Connect) or cfk (Confluent Kafka Connect). Changing it creates a new Kafka Connect.identifier(String) Unique name: up to 24 lowercase letters, digits and dashes. Changing it creates a new Kafka Connect.kafka_id(String) Identifier of the Kafka cluster Kafka Connect works with. Changing it creates a new Kafka Connect.
Optional
advanced_config(String, Sensitive) Advanced settings, as a JSON object set with jsonencode(), for example the connector plugin archives to install. Settings Streamtime fills in are not shown as changes.timeouts(Attributes) (see below for nested schema)
Read-Only
configuration_state(String) Whether the settings are complete: incomplete, valid or invalid.fleet(String) Identifier of the fleet Kafka Connect runs on: the fleet of its Kafka cluster.generation(Number) Version of the settings; it goes up when they change.id(String) Same as identifier. Use the identifier to import.observed_generation(Number) Version of the settings that is running.reconciliation_state(String) Progress of the last change: pending, queued, running, succeeded or failed.status(String) Health of Kafka Connect, for example Provisioning, Healthy or Error.
Nested Schema for timeouts
Optional:
create(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as “30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours).delete(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as “30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
Import
Import is supported using the following syntax:
The terraform import command can be used, for example:
# Import by identifier.
terraform import streamtime_kafka_connect.connect orders-connect