amazon_s3_storage_config.py 994 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. from typing import Optional
  2. from pydantic import Field
  3. from pydantic_settings import BaseSettings
  4. class S3StorageConfig(BaseSettings):
  5. """
  6. S3 storage configs
  7. """
  8. S3_ENDPOINT: Optional[str] = Field(
  9. description='S3 storage endpoint',
  10. default=None,
  11. )
  12. S3_REGION: Optional[str] = Field(
  13. description='S3 storage region',
  14. default=None,
  15. )
  16. S3_BUCKET_NAME: Optional[str] = Field(
  17. description='S3 storage bucket name',
  18. default=None,
  19. )
  20. S3_ACCESS_KEY: Optional[str] = Field(
  21. description='S3 storage access key',
  22. default=None,
  23. )
  24. S3_SECRET_KEY: Optional[str] = Field(
  25. description='S3 storage secret key',
  26. default=None,
  27. )
  28. S3_ADDRESS_STYLE: str = Field(
  29. description='S3 storage address style',
  30. default='auto',
  31. )
  32. S3_USE_AWS_MANAGED_IAM: bool = Field(
  33. description='whether to use aws managed IAM for S3',
  34. default=False,
  35. )