luml.api.resources.bucket_secrets
BucketSecretResource Objects
class BucketSecretResource(BucketSecretResourceBase)
Resource for managing Bucket Secrets.
get
def get(secret_value: str) -> BucketSecret | None
Get BucketSecret by ID or bucket name.
Retrieves BucketSecret details by its ID or bucket name. Search by name is case-sensitive and matches exact bucket name.
Arguments:
secret_value- The ID or exact bucket name of the bucket secret to retrieve.
Returns:
BucketSecret object.
Returns None if bucket secret with the specified id or name is not found.
Raises:
MultipleResourcesFoundError- if there are several BucketSecret with that bucket name.
Example:
luml = LumlClient(
api_key="luml_your_key",
organization="0199c455-21ec-7c74-8efe-41470e29bae5",
orbit="0199c455-21ed-7aba-9fe5-5231611220de",
collection="0199c455-21ee-74c6-b747-19a82f1a1e75"
)
bucket_by_name = luml.bucket_secrets.get("default-bucket")
bucket_by_id = luml.bucket_secrets.get(
"0199c455-21ef-79d9-9dfc-fec3d72bf4b5"
)
Example response:
BucketSecret(
id="0199c455-21ef-79d9-9dfc-fec3d72bf4b5",
endpoint='default-endpoint',
bucket_name='default-bucket',
secure=None,
region=None,
cert_check=None,
organization_id="0199c455-21ec-7c74-8efe-41470e29bae5",
created_at='2025-05-21T19:35:17.340408Z',
updated_at='2025-08-13T22:44:58.035731Z'
)
list
def list() -> list[BucketSecret]
List all bucket secrets in the default organization.
Returns:
List of BucketSecret objects.
Example:
luml = LumlClient(
api_key="luml_your_key",
organization="0199c455-21ec-7c74-8efe-41470e29bae5",
orbit="0199c455-21ed-7aba-9fe5-5231611220de",
collection="0199c455-21ee-74c6-b747-19a82f1a1e75"
)
secrets = luml.bucket_secrets.list()
Example response:
[
BucketSecret(
id="0199c455-21ef-79d9-9dfc-fec3d72bf4b5",
endpoint='default-endpoint',
bucket_name='default-bucket',
secure=None,
region=None,
cert_check=None,
organization_id="0199c455-21ec-7c74-8efe-41470e29bae5",
created_at='2025-06-18T12:44:54.443715Z',
updated_at=None
)
]
create
def create(endpoint: str,
bucket_name: str,
access_key: str | None = None,
secret_key: str | None = None,
session_token: str | None = None,
secure: bool | None = None,
region: str | None = None,
cert_check: bool | None = None) -> BucketSecret
Create new bucket secret in the default organization.
Arguments:
endpoint- S3-compatible storage endpoint URL (e.g., 's3.amazonaws.com').bucket_name- Name of the storage bucket.access_key- Access key for bucket authentication. Optional for some providers.secret_key- Secret key for bucket authentication. Optional for some providers.session_token- Temporary session token for authentication. Optional.secure- Use HTTPS for connections.Optional.region- Storage region identifier (e.g., 'us-east-1'). Optional.cert_check- Verify SSL certificates.Optional.
Returns:
BucketSecret- Сreated bucket secret object.
Example:
luml = LumlClient(
api_key="luml_your_key",
organization="0199c455-21ec-7c74-8efe-41470e29bae5",
orbit="0199c455-21ed-7aba-9fe5-5231611220de",
collection="0199c455-21ee-74c6-b747-19a82f1a1e75"
)
bucket_secret = luml.bucket_secrets.create(
endpoint="s3.amazonaws.com",
bucket_name="my-data-bucket",
access_key="AKIAIOSFODNN7EXAMPLE",
secret_key="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
region="us-east-1",
secure=True
)
Response object:
BucketSecret(
id="0199c455-21ef-79d9-9dfc-fec3d72bf4b5",
endpoint="s3.amazonaws.com",
bucket_name="my-data-bucket",
secure=True,
region="us-east-1",
cert_check=True,
organization_id="0199c455-21ec-7c74-8efe-41470e29bae5",
created_at='2025-01-15T10:30:00.123456Z',
updated_at=None
)
update
def update(secret_id: str,
endpoint: str | None = None,
bucket_name: str | None = None,
access_key: str | None = None,
secret_key: str | None = None,
session_token: str | None = None,
secure: bool | None = None,
region: str | None = None,
cert_check: bool | None = None) -> BucketSecret
Update existing bucket secret.
Updates the bucket secret's. Only provided parameters will be updated, others remain unchanged.
Arguments:
secret_id- ID of the bucket secret to update.endpoint- S3-compatible storage endpoint URL (e.g., 's3.amazonaws.com').bucket_name- Name of the storage bucket.access_key- Access key for bucket authentication.secret_key- Secret key for bucket authentication.session_token- Temporary session token for authentication.secure- Use HTTPS for connections.region- Storage region identifier (e.g., 'us-east-1').cert_check- Verify SSL certificates.
Returns:
BucketSecret- Updated bucket secret object.
Example:
luml = LumlClient(
api_key="luml_your_key",
organization="0199c455-21ec-7c74-8efe-41470e29bae5",
orbit="0199c455-21ed-7aba-9fe5-5231611220de",
collection="0199c455-21ee-74c6-b747-19a82f1a1e75"
)
bucket_secret = luml.bucket_secrets.update(
secret_id="0199c455-21ef-79d9-9dfc-fec3d72bf4b5",
endpoint="s3.amazonaws.com",
bucket_name="updated-bucket",
region="us-west-2",
secure=True
)
Response object:
BucketSecret(
id="0199c455-21ef-79d9-9dfc-fec3d72bf4b5",
endpoint="s3.amazonaws.com",
bucket_name="updated-bucket",
secure=True,
region="us-west-2",
cert_check=True,
organization_id="0199c455-21ec-7c74-8efe-41470e29bae5",
created_at='2025-01-15T10:30:00.123456Z',
updated_at='2025-01-15T14:22:30.987654Z'
)
delete
def delete(secret_id: str) -> None
Delete bucket secret permanently.
Permanently removes the bucket secret from the organization. This action cannot be undone. Any orbits using this bucket secret will lose access to their storage.
Arguments:
secret_id- ID of the bucket secret to delete.
Returns:
None- No return value on successful deletion.
Example:
luml = LumlClient(
api_key="luml_your_key",
organization="0199c455-21ec-7c74-8efe-41470e29bae5",
orbit="0199c455-21ed-7aba-9fe5-5231611220de",
collection="0199c455-21ee-74c6-b747-19a82f1a1e75"
)
luml.bucket_secrets.delete("0199c455-21f2-7131-9a20-da66246845c7")
Warnings:
This operation is irreversible. Orbits using this bucket secret will lose access to their storage. Ensure no active orbits depend on this bucket secret before deletion.
get_multipart_upload_urls
def get_multipart_upload_urls(
bucket_id: str,
bucket_location: str,
size: int,
upload_id: str | None = None) -> MultiPartUploadDetails
Get presigned URLs for multipart upload parts.
After initiating a multipart upload and receiving an upload_id, use this method to get presigned URLs for uploading each part.
Arguments:
bucket_id- ID of the bucket secret.bucket_location- Location/path in the bucket.size- Total file size in bytes.upload_id- Upload ID received from multipart initiation.
Returns:
MultiPartUploadDetails with parts URLs and complete URL.
Example:
luml = AsyncDataForceClient(api_key="luml_your_key")
async def main():
await luml.setup_config(
organization="0199c455-21ec-7c74-8efe-41470e29bae5",
orbit="0199c455-21ed-7aba-9fe5-5231611220de",
collection="0199c455-21ee-74c6-b747-19a82f1a1e75")
bucket_secret_id = "0199c45c-1b0b-7c82-890d-e31ab10d1e5d"
bucket_location =
"orbit-0199c455-21ed-7aba-9fe5-5231611220de/collection-0199c455-2
1ee-74c6-b747-19a82f1a1e75/my_model_name"
multipart_data = luml.bucket_secrets.get_multipart_upload_urls(
bucket_secret_id,
bucket_location,
3874658765,
"some_upload_id")
AsyncBucketSecretResource Objects
class AsyncBucketSecretResource(BucketSecretResourceBase)
Resource for managing Bucket Secrets for async client.
get
async def get(secret_value: str) -> BucketSecret | None
Get BucketSecret by ID or bucket name.
Retrieves BucketSecret details by its ID or bucket name. Search by name is case-sensitive and matches exact bucket name.
Arguments:
secret_value- The ID or exact bucket name of the bucket secret to retrieve.
Returns:
BucketSecret object.
Returns None if bucket secret with the specified id or name is not found.
Raises:
MultipleResourcesFoundError- if there are several BucketSecret with that bucket name.
Example:
luml = AsyncLumlClient(
api_key="luml_your_key",
)
async def main():
await luml.setup_config(
organization="0199c455-21ec-7c74-8efe-41470e29bae5",
orbit="0199c455-21ed-7aba-9fe5-5231611220de",
collection="0199c455-21ee-74c6-b747-19a82f1a1e75"
)
bucket_by_name = await luml.bucket_secrets.get("default-bucket")
bucket_by_id = await luml.bucket_secrets.get(
"0199c45c-1b0b-7c82-890d-e31ab10d1e5d"
)
Example response:
BucketSecret(
id="0199c455-21ef-79d9-9dfc-fec3d72bf4b5",
endpoint='default-endpoint',
bucket_name='default-bucket',
secure=None,
region=None,
cert_check=None,
organization_id="0199c455-21ec-7c74-8efe-41470e29bae5",
created_at='2025-05-21T19:35:17.340408Z',
updated_at='2025-08-13T22:44:58.035731Z'
)
list
async def list() -> list[BucketSecret]
List all bucket secrets in the default organization.
Returns:
List of BucketSecret objects.
Example:
luml = AsyncLumlClient(
api_key="luml_your_key",
)
async def main():
await luml.setup_config(
organization="0199c455-21ec-7c74-8efe-41470e29bae5",
orbit="0199c455-21ed-7aba-9fe5-5231611220de",
collection="0199c455-21ee-74c6-b747-19a82f1a1e75"
)
secrets = await luml.bucket_secrets.list()
Example response:
[
BucketSecret(
id="0199c455-21ef-79d9-9dfc-fec3d72bf4b5",
endpoint='default-endpoint',
bucket_name='default-bucket',
secure=None,
region=None,
cert_check=None,
organization_id="0199c455-21ec-7c74-8efe-41470e29bae5",
created_at='2025-06-18T12:44:54.443715Z',
updated_at=None
)
]
get_multipart_upload_urls
async def get_multipart_upload_urls(
bucket_id: str,
bucket_location: str,
size: int,
upload_id: str | None = None) -> MultiPartUploadDetails
Get presigned URLs for multipart upload parts.
After initiating a multipart upload and receiving an upload_id, use this method to get presigned URLs for uploading each part.
Arguments:
bucket_id- ID of the bucket secret.bucket_location- Location/path in the bucket.size- Total file size in bytes.upload_id- Upload ID received from multipart initiation.
Returns:
MultiPartUploadDetails with parts URLs and complete URL.
Example:
luml = AsyncDataForceClient(api_key="luml_your_key")
async def main():
await luml.setup_config(
organization="0199c455-21ec-7c74-8efe-41470e29bae5",
orbit="0199c455-21ed-7aba-9fe5-5231611220de",
collection="0199c455-21ee-74c6-b747-19a82f1a1e75")
bucket_secret_id = "0199c45c-1b0b-7c82-890d-e31ab10d1e5d"
bucket_location =
"orbit-0199c455-21ed-7aba-9fe5-5231611220de/collection-0199c
455-21ee-74c6-b747-19a82f1a1e75/my_model_name"
multipart_data = await luml.bucket_secrets.get_multipart_upload_urls(
bucket_secret_id,
bucket_location,
3874658765,
"some_upload_id")
create
async def create(endpoint: str,
bucket_name: str,
access_key: str | None = None,
secret_key: str | None = None,
session_token: str | None = None,
secure: bool | None = None,
region: str | None = None,
cert_check: bool | None = None) -> BucketSecret
Create new bucket secret in the default organization.
Arguments:
endpoint- S3-compatible storage endpoint URL (e.g., 's3.amazonaws.com').bucket_name- Name of the storage bucket.access_key- Access key for bucket authentication. Optional for some providers.secret_key- Secret key for bucket authentication. Optional for some providers.session_token- Temporary session token for authentication. Optional.secure- Use HTTPS for connections.Optional.region- Storage region identifier (e.g., 'us-east-1'). Optional.cert_check- Verify SSL certificates.Optional.
Returns:
BucketSecret- Сreated bucket secret object.
Example:
luml = AsyncLumlClient(
api_key="luml_your_key",
)
async def main():
await luml.setup_config(
organization="0199c455-21ec-7c74-8efe-41470e29bae5",
orbit="0199c455-21ed-7aba-9fe5-5231611220de",
collection="0199c455-21ee-74c6-b747-19a82f1a1e75"
)
bucket_secret = await luml.bucket_secrets.create(
endpoint="s3.amazonaws.com",
bucket_name="my-data-bucket",
access_key="AKIAIOSFODNN7EXAMPLE",
secret_key="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
region="us-east-1",
secure=True
)
Response object:
BucketSecret(
id="0199c455-21ef-79d9-9dfc-fec3d72bf4b5",
endpoint="s3.amazonaws.com",
bucket_name="my-data-bucket",
secure=True,
region="us-east-1",
cert_check=True,
organization_id="0199c455-21ec-7c74-8efe-41470e29bae5",
created_at='2025-01-15T10:30:00.123456Z',
updated_at=None
)
update
async def update(secret_id: str,
endpoint: str | None = None,
bucket_name: str | None = None,
access_key: str | None = None,
secret_key: str | None = None,
session_token: str | None = None,
secure: bool | None = None,
region: str | None = None,
cert_check: bool | None = None) -> BucketSecret
Update existing bucket secret.
Updates the bucket secret's. Only provided parameters will be updated, others remain unchanged.
Arguments:
secret_id- ID of the bucket secret to update.endpoint- S3-compatible storage endpoint URL (e.g., 's3.amazonaws.com').bucket_name- Name of the storage bucket.access_key- Access key for bucket authentication.secret_key- Secret key for bucket authentication.session_token- Temporary session token for authentication.secure- Use HTTPS for connections.region- Storage region identifier (e.g., 'us-east-1').cert_check- Verify SSL certificates.
Returns:
BucketSecret- Updated bucket secret object.
Example:
luml = AsyncLumlClient(
api_key="luml_your_key",
)
async def main():
await luml.setup_config(
organization="0199c455-21ec-7c74-8efe-41470e29bae5",
orbit="0199c455-21ed-7aba-9fe5-5231611220de",
collection="0199c455-21ee-74c6-b747-19a82f1a1e75"
)
bucket_secret = await luml.bucket_secrets.update(
id="0199c455-21ef-79d9-9dfc-fec3d72bf4b5",
endpoint="s3.amazonaws.com",
bucket_name="updated-bucket",
region="us-west-2",
secure=True
)
Response object:
BucketSecret(
id="0199c455-21ef-79d9-9dfc-fec3d72bf4b5",
endpoint="s3.amazonaws.com",
bucket_name="updated-bucket",
secure=True,
region="us-west-2",
cert_check=True,
organization_id="0199c455-21ec-7c74-8efe-41470e29bae5",
created_at='2025-01-15T10:30:00.123456Z',
updated_at='2025-01-15T14:22:30.987654Z'
)
delete
async def delete(secret_id: str) -> None
Delete bucket secret permanently.
Permanently removes the bucket secret from the organization. This action cannot be undone. Any orbits using this bucket secret will lose access to their storage.
Arguments:
secret_id- ID of the bucket secret to delete.
Returns:
None- No return value on successful deletion.
Example:
luml = AsyncLumlClient(
api_key="luml_your_key",
)
async def main():
await luml.setup_config(
organization="0199c455-21ec-7c74-8efe-41470e29bae5",
orbit="0199c455-21ed-7aba-9fe5-5231611220de",
collection="0199c455-21ee-74c6-b747-19a82f1a1e75"
)
await luml.bucket_secrets.delete(
"0199c455-21ef-79d9-9dfc-fec3d72bf4b5"
)
Warnings:
This operation is irreversible. Orbits using this bucket secret will lose access to their storage. Ensure no active orbits depend on this bucket secret before deletion.