from __future__ import annotations
from typing import Optional
from briefcase.storage.s3 import S3ObjectLockStorage
class DOSpacesStorage(S3ObjectLockStorage):
def __init__(
self,
bucket: str,
region_name: str = "nyc3",
retention_days: int = 2555,
access_key: Optional[str] = None,
secret_key: Optional[str] = None,
) -> None:
endpoint_url = f"https://{region_name}.digitaloceanspaces.com"
super().__init__(
bucket=bucket,
region=region_name,
retention_days=retention_days,
access_key=access_key,
secret_key=secret_key,
endpoint_url=endpoint_url,
)
self._endpoint_url = endpoint_url
@property
def endpoint_url(self) -> str:
return self._endpoint_url