connect_models

Data models for LucidLink Connect (external files).

lucidlink.connect_models.DataStoreCredentials

alias of S3Credentials

class lucidlink.connect_models.DataStoreInfo(name: str, access_key: str = '', secret_key: str = '', bucket_name: str = '', region: str = '', endpoint: str = '', url_expiration_minutes: int = 0, use_virtual_addressing: bool = False, kind: DataStoreKind = DataStoreKind.S3, key_id: str = '', rekey_state: DataStoreRekeyState = DataStoreRekeyState.NO_REKEY)[source]

Bases: object

Information about a registered data store.

access_key: str = ''

S3 access key ID.

bucket_name: str = ''

S3 bucket name.

endpoint: str = ''

Full S3 endpoint URL (e.g., "http://127.0.0.1:9090"), empty if using AWS default.

classmethod from_dict(store: dict) DataStoreInfo[source]
key_id: str = ''

Unique key identifier (UUID).

kind: DataStoreKind = 'S3DataStore'

Data store type (currently always S3).

name: str

Data store name.

region: str = ''

AWS region.

rekey_state: DataStoreRekeyState = 'no_rekey'

Current credential rotation state.

secret_key: str = ''

S3 secret access key.

url_expiration_minutes: int = 0

Presigned URL expiration in minutes.

use_virtual_addressing: bool = False

Whether virtual-hosted-style addressing is used.

class lucidlink.connect_models.DataStoreKind(*values)[source]

Bases: str, Enum

Type of external data store.

S3 = 'S3DataStore'

Amazon S3 or S3-compatible object storage.

class lucidlink.connect_models.DataStoreRekeyState(*values)[source]

Bases: str, Enum

Credential rotation state for a data store.

IN_PROGRESS = 'in_progress'

Credential rotation is currently in progress.

NO_REKEY = 'no_rekey'

No credential rotation in progress.

class lucidlink.connect_models.LinkedFilesResult(file_paths: List[str] = <factory>, file_ids: List[int] = <factory>, has_more: bool = False, cursor: str = '')[source]

Bases: object

Result from listing external files linked to a data store.

cursor: str = ''

Opaque pagination token; pass to the next call to continue.

file_ids: List[int]

List of integer file IDs (parallel to file_paths).

file_paths: List[str]

List of file paths.

has_more: bool = False

Whether more results are available (pagination).

class lucidlink.connect_models.S3Credentials(access_key: str, secret_key: str, kind: lucidlink.connect_models.DataStoreKind = <DataStoreKind.S3: 'S3DataStore'>)[source]

Bases: object

access_key: str
kind: DataStoreKind = 'S3DataStore'
secret_key: str
class lucidlink.connect_models.S3DataStoreConfig(access_key: str, secret_key: str, bucket_name: str, region: str, endpoint: str = '', url_expiration_minutes: int = 10080, use_virtual_addressing: bool = False)[source]

Bases: object

Configuration for an S3-compatible data store.

access_key: str

S3 access key ID.

bucket_name: str

S3 bucket name.

endpoint: str = ''

Custom S3 endpoint URL with scheme, e.g. "http://127.0.0.1:9090". Must start with "http://" or "https://". When empty, defaults to HTTPS.

region: str

AWS region (e.g., "us-east-1").

secret_key: str

S3 secret access key.

url_expiration_minutes: int = 10080

Presigned URL expiration in minutes (7 days).

use_virtual_addressing: bool = False

Use virtual-hosted-style addressing.