from __future__ import annotations from enum import StrEnum class GoogleAdAccountStatus(StrEnum): # https://developers.google.com/google-ads/api/reference/rpc/v17/CustomerStatusEnum.CustomerStatus UNSPECIFIED = "UNSPECIFIED" UNKNOWN = "UNKNOWN" ENABLED = "ENABLED" CANCELED = "CANCELED" SUSPENDED = "SUSPENDED" CLOSED = "CLOSED" @property def is_valid(self) -> bool: return self.value == GoogleAdAccountStatus.ENABLED class GoogleAdAccountUserAccessRole(StrEnum): # https://developers.google.com/google-ads/api/fields/v17/customer_user_access#customer_user_access.access_role OTHER = "OTHER" ADMIN = "ADMIN" STANDARD = "STANDARD" @classmethod def _missing_(cls, value: object) -> GoogleAdAccountUserAccessRole: # noqa: ARG003 return cls.OTHER class GoogleErrorCode(StrEnum): NOT_ADS_USER = "NOT_ADS_USER"