# Copyright (c) 2022 CloudZero - ALL RIGHTS RESERVED - PROPRIETARY AND CONFIDENTIAL
# Unauthorized copying of this file and/or project, via any medium is strictly prohibited.
# Direct all questions to legal@cloudzero.com
from enum import Enum
from typing import NamedTuple

from czc.type_util import deserializable


class BillingIngestStatus(Enum):
    success = 'success'
    failure = 'failure'
    user_actionable_failure = 'user_actionable_failure'
    no_data = 'no_data'
    no_change = 'no_change'
    account_disabled = 'account_disabled'
    missing_parameter = 'missing_parameter'
    new_connection = 'new_connection'
    rate_limited = 'rate_limited'
    ingest_disabled = 'ingest_disabled'
    running = 'running'
    new_data = 'new_data'
    access_denied = 'access_denied'


class PausedState(Enum):
    unpaused = 'unpaused'
    paused_by_user = 'paused_by_user'
    paused_by_system = 'paused_by_system'
