ump_spec.models.connection
module ump-spec
Data connections: reusable, client-scoped access to data UMP may read but not keep (POC blueprint
DATA-CATALOGUE §2 and §6; a proposed addition to spec §6 and §20, see context/open-questions.md).
A data_connection artifact holds the connector kind, non-secret config, a secret_ref and the access
policy. It never holds the secret itself or any rows. One connection backs several connected datasets
(Dataset.storage == "connected").
Classes
Section titled “Classes”ConnectionTest
Section titled “ConnectionTest”class
class ConnectionTest(StrictModel)Result of POST /v1/connections/{id}:test: reachability, auth and schema. No rows.
Fields
| Name | Type | Default | Description |
|---|---|---|---|
ok | bool | ||
tested_at | datetime | ||
reachable | bool | ||
auth_ok | bool | None | None | |
schema_columns | list[str] | list() | |
latency_ms | int | None | None | |
message | str | '' | |
stub | bool | False | Labelled stub connector (CONNECTOR_STUB). |
notes | list[Note] | list() |
Source: packages/ump-spec/src/ump_spec/models/connection.py, line 37
DataConnection
Section titled “DataConnection”class
class DataConnection(ArtifactDoc)Fields
| Name | Type | Default | Description |
|---|---|---|---|
name | str | ||
client_id | str | None | None | |
connector | ConnectorKind | ||
config | dict[str, Any] | dict() | Non-secret settings: host, base URL, project, table pattern, JSON path, pagination. Never a password or token. |
secret | SecretStatus | None | None | |
access | AccessPolicy | AccessPolicy() | |
owner | str | None | None | |
description | str | None | None | |
last_test | ConnectionTest | None | None | |
stub | bool | False | The connector is a labelled stub in this POC build. |
Source: packages/ump-spec/src/ump_spec/models/connection.py, line 51
SecretStatus
Section titled “SecretStatus”class
class SecretStatus(StrictModel)All the API ever echoes about a secret: its reference, whether one is set, and when it changed.
Rotating the secret changes updated_at, never the connection’s id.
Fields
| Name | Type | Default | Description |
|---|---|---|---|
secret_ref | str | secret://<client_id>/<name> | |
set | bool | False | |
updated_at | datetime | None | None |
Source: packages/ump-spec/src/ump_spec/models/connection.py, line 28
Constants
Section titled “Constants”| Name | Type | Value | Description |
|---|---|---|---|
CONNECTOR_KINDS | tuple[str, ...] | ('rest_api', 'sql', 'bigquery', 'object_store', 'clean_room') | |
ROW_FIELDS | frozenset[str] | frozenset({'rows', 'preview', 'preview_rows', 'sample', 'sample_rows', 'recor... | Extra doc fields refused on a connection: connections never hold rows (previews are shown, not stored). |
ConnectorKind | Literal['rest_api', 'sql', 'bigquery', 'object_store', 'clean_room'] |