import os from dataclasses import dataclass, field from typing import ClassVar @dataclass(slots=True) class Config: project_id: ClassVar[str] = os.environ.get('GCP_PROJECT', 'delphi-stage') instance_id: ClassVar[str] = os.environ.get( 'INSTANCE_ID', 'stg-delphi-consumer-analytics-ssd') cluster_id: ClassVar[str] = os.environ.get('CLUSTER_ID', 'stg-delphi-ca-ssd-us-east4-b') cluster_baseline: ClassVar[int] = int( os.environ.get('CLUSTER_BASELINE', '5')) cluster_max_size: ClassVar[int] = int( os.environ.get('CLUSTER_MAX_SIZE', '30')) slack_token: ClassVar[str] = os.environ.get('SLACK_TOKEN', '') slack_channel_id: ClassVar[str] = os.environ.get('SLACK_CHANNEL_ID', '') @classmethod def get_config_str(cls) -> str: return f"""project_id: {cls.project_id} instance_id: {cls.instance_id} cluster_id: {cls.cluster_id} cluster_baseline: {cls.cluster_baseline} cluster_max_size: {cls.cluster_max_size} """