mz_db_config.py 813 B

12345678910111213141516171819202122232425262728293031
  1. # Copyright Materialize, Inc. and contributors. All rights reserved.
  2. #
  3. # Use of this software is governed by the Business Source License
  4. # included in the LICENSE file at the root of this repository.
  5. #
  6. # As of the Change Date specified in that file, in accordance with
  7. # the Business Source License, use of this software will be governed
  8. # by the Apache License, Version 2.0.
  9. from dataclasses import dataclass
  10. @dataclass
  11. class MzDbConfig:
  12. hostname: str
  13. username: str
  14. app_password: str | None
  15. application_name: str | None
  16. database: str
  17. search_path: str
  18. cluster: str
  19. port: int = 6875
  20. default_statement_timeout: str = "60s"
  21. enabled: bool = True
  22. def __post_init__(self):
  23. if self.enabled:
  24. assert self.app_password is not None, "password required"