terraform-provider-onyx/docs/resources/connector.md
A connector definition: what to index and how often. A connector on its own indexes nothing — pair it with an onyx_credential to start indexing.
Access control is not set here. Onyx applies it when a credential is associated, so it belongs to the connector-credential pair.
# A connector says what to index and how often.
resource "onyx_connector" "docs_site" {
name = "docs-site"
source = "web"
input_type = "load_state"
# Re-index once a day, prune monthly.
refresh_freq = 24 * 60 * 60
prune_freq = 30 * 24 * 60 * 60
connector_specific_config = jsonencode({
base_url = "https://example.com/docs"
web_connector_type = "recursive"
})
}
connector_specific_config (String) Source-specific settings as a JSON object, e.g. jsonencode({ base_url = "https://example.com", web_connector_type = "recursive" }).input_type (String) How the connector reads: load_state, poll, event, or slim_retrieval.name (String) Connector name. Must be unique for the source.source (String) Source system, lowercase, e.g. web, confluence, google_drive. Onyx rejects sources excluded by ENABLED_CONNECTOR_TYPES.indexing_start (String) Earliest document timestamp to index, RFC 3339, e.g. 2026-01-01T00:00:00Z. Onyx ignores it on update, so changing it replaces the connector.prune_freq (Number) Seconds between pruning runs. Onyx rewrites an unset value to its default of 604800 (7 days) on the first update, and Terraform then keeps that value.refresh_freq (Number) Seconds between index runs. Unset means index once, with no refresh.credential_ids (List of Number) Ids of the credentials paired with this connector.id (String) Numeric connector id.Import is supported using the following syntax:
The terraform import command can be used, for example:
#!/bin/sh
# Import by numeric connector id.
terraform import onyx_connector.docs_site 5