graflo.connections.sources¶
Pydantic models for runtime source connection configuration.
Leaf module: no imports from bindings, data_source, hq, or
:mod:graflo.connections.provider. Used by :mod:graflo.connections.provider,
:mod:graflo.data_source.api, and :mod:graflo.data_source.kafka.
Attributes¶
AuthType = Literal['bearer', 'basic', 'digest', 'api_key']
module-attribute
¶
GeneralizedConnConfig = PostgresGeneralizedConnConfig | SparqlGeneralizedConnConfig | S3GeneralizedConnConfig | ApiGeneralizedConnConfig | KafkaGeneralizedConnConfig
module-attribute
¶
KafkaSecurityProtocol = Literal['PLAINTEXT', 'SASL_PLAINTEXT', 'SASL_SSL', 'SSL']
module-attribute
¶
Classes¶
ApiAuth
¶
Bases: BaseModel
Authentication payload for REST API source access.
Source code in graflo/connections/sources.py
Attributes¶
auth_type = 'bearer'
class-attribute
instance-attribute
¶
header_name = 'Authorization'
class-attribute
instance-attribute
¶
password = None
class-attribute
instance-attribute
¶
prefix = 'Bearer'
class-attribute
instance-attribute
¶
token = None
class-attribute
instance-attribute
¶
username = None
class-attribute
instance-attribute
¶
ApiGeneralizedConnConfig
¶
Bases: BaseModel
Generalized runtime config variant for REST API connections.
Source code in graflo/connections/sources.py
KafkaConnConfig
¶
Bases: BaseModel
Runtime Kafka broker connection settings (bootstrap and auth).
Source code in graflo/connections/sources.py
Attributes¶
bootstrap_servers
instance-attribute
¶
client_id = None
class-attribute
instance-attribute
¶
sasl_mechanism = None
class-attribute
instance-attribute
¶
sasl_password = None
class-attribute
instance-attribute
¶
sasl_username = None
class-attribute
instance-attribute
¶
security_protocol = 'PLAINTEXT'
class-attribute
instance-attribute
¶
Methods:¶
from_env(env_prefix)
classmethod
¶
Load Kafka config from environment variables.
Supported variables (all prefixed with env_prefix):
BOOTSTRAP_SERVERS(required)SECURITY_PROTOCOL:PLAINTEXT,SASL_PLAINTEXT,SASL_SSL, orSSL(default:PLAINTEXT)CLIENT_IDSASL_MECHANISM,SASL_USERNAME,SASL_PASSWORD
Source code in graflo/connections/sources.py
to_consumer_config()
¶
Build a confluent-kafka consumer config dict from connection settings.
Source code in graflo/connections/sources.py
KafkaGeneralizedConnConfig
¶
Bases: BaseModel
Generalized runtime config variant for Kafka connections.
Source code in graflo/connections/sources.py
PostgresGeneralizedConnConfig
¶
Bases: BaseModel
Generalized runtime config variant for SQL/Postgres connections.
Source code in graflo/connections/sources.py
RestApiConnConfig
¶
Bases: BaseModel
Runtime REST API connection settings (base URL and credentials).
Source code in graflo/connections/sources.py
Attributes¶
auth = None
class-attribute
instance-attribute
¶
base_url
instance-attribute
¶
default_headers = Field(default_factory=dict)
class-attribute
instance-attribute
¶
proxy_name = Field(default=None, description="Non-secret runtime handle. Matches conn_proxy in manifest bindings. Must be unique per registry instance. Mirrors DBConfig.proxy_name: an API source's connector is looked up by the same label a database connector is.")
class-attribute
instance-attribute
¶
Methods:¶
from_env(env_prefix)
classmethod
¶
Load REST API config from environment variables.
Supported variables (all prefixed with env_prefix):
BASE_URL(required)AUTH_TYPE:bearer,basic,digest, orapi_key(default:bearer)TOKEN,USERNAME,PASSWORDHEADER_NAME,PREFIX(bearer / api_key)
Source code in graflo/connections/sources.py
S3GeneralizedConnConfig
¶
Bases: BaseModel
Runtime credentials and defaults for S3 staging (TigerGraph bulk ingest).
Source code in graflo/connections/sources.py
Attributes¶
aws_access_key_id = Field(default=None)
class-attribute
instance-attribute
¶
aws_secret_access_key = Field(default=None)
class-attribute
instance-attribute
¶
bucket = Field(default=None, description='Default bucket when TigergraphBulkLoadConfig.s3_bucket is unset.')
class-attribute
instance-attribute
¶
endpoint_url = Field(default=None, description='For S3-compatible endpoints (MinIO, etc.).')
class-attribute
instance-attribute
¶
kind = 's3'
class-attribute
instance-attribute
¶
loader_endpoint_url = Field(default=None, description='S3 endpoint URL as seen by TigerGraph when it runs in another network namespace (e.g. Docker). Used only in CREATE DATA_SOURCE for LOADING JOB; boto3 continues to use endpoint_url.')
class-attribute
instance-attribute
¶
region = Field(default=None)
class-attribute
instance-attribute
¶
SparqlAuth
¶
Bases: BaseModel
Authentication payload for SPARQL endpoint access.
Source code in graflo/connections/sources.py
SparqlGeneralizedConnConfig
¶
Bases: BaseModel
Generalized runtime config variant for SPARQL endpoint connections.