protos/ingestion/v1/connectors.proto.
RPCs
The catalog, validation, and resource discovery RPCs run under a 5-second
server-side timeout.
GetResourceColumns gets 30 seconds because it queries the external system
per resource. DiscoverResources and GetResourceColumns return
unimplemented for connectors that don’t support discovery or column
introspection.
ListConnectors
Filter bykind (CONNECTOR_KIND_SOURCE, CONNECTOR_KIND_SINK, or
unspecified for both). Supports pagination.
Each ConnectorSpec carries:
name,display_name,kind, andversion- supported replication
modes(STANDARD,CDC) - its full
config_schema: fields with types, scopes, defaults, and secret flags, enough to render a form - logo URLs and
schema_field maturity(ALPHA,BETA,STABLE)
GetConnector
Fetches a single spec. Bothconnector (the name) and kind are required,
because some names register as both a source and a sink. An unknown
combination returns not_found.
ValidateConfig
Runs the submittedconfig through the connector’s schema and local
configuration checks. It catches problems such as missing fields, invalid enum
values, and incompatible settings. It does not call the connector’s live
TestConnection method, so network and credential failures can still appear
during discovery or a run. Validation results are returned in the response:
valid: false. RPC
errors are reserved for problems such as an unknown connector or missing
connector kind, which lets a client display all field errors together.
Pass connection_id to validate an edit to an existing
connection. The submitted config
is overlaid on the stored, secret-resolved config, so the client never needs
to round-trip secrets it only holds masked.
DiscoverResources
Lists the tables, streams, and endpoints a source config can read. Accepts either an inlineconfig or a connection_id (same overlay semantics as
ValidateConfig). Set refresh to bypass any cached listing. Each resource
reports name, is_selectable, its primary_key columns, a selector,
display_name, and connector-specific metadata.
GetResourceColumns
Returns column metadata for the namedresources, keyed per resource. Beyond
the basics (name, logical_type, native_type, is_nullable,
is_primary_key), each column carries the cursor-selection fields the
pipeline editor uses for incremental reads.