from __future__ import annotations from dataclasses import dataclass import os from enum import Enum class Env(Enum): prod = 1 staging = 2 dev = 3 @dataclass class Config: env: Env o11y_auth0_client_id: str | None o11y_auth0_client_secret: str | None def __init__(self, env: Env, o11y_auth0_client_id: str = '', o11y_auth0_client_secret: str = ''): self.o11y_auth0_client_id = os.environ.get( "O11Y_AUTH0_CLIENT_ID") if o11y_auth0_client_id == '' else o11y_auth0_client_id self.o11y_auth0_client_secret = os.environ.get( "O11Y_AUTH0_CLIENT_SECRET") if o11y_auth0_client_secret == '' else o11y_auth0_client_secret self.env = env class RulesConfig: rules: list[Rule] def __init__(self, rules: list[Rule] = None): self.rules = rules @dataclass class Rule: name: str expr: str