PK œqhYî¶J‚ßFßF)nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/ $#$#$#

Dir : /proc/self/root/opt/saltstack/salt/extras-3.10/bakauth/
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64
IP: 209.182.202.254
Choose File :

Url:
Dir : //proc/self/root/opt/saltstack/salt/extras-3.10/bakauth/hints.py

"""TypedDict typehints for Backup Authority API replies"""

from typing import TypedDict, Union
from restic import ResticRepo

# https://www.python.org/dev/peps/pep-0589/


class SharedFailoverLocks(TypedDict):
    """Return format of get_shared_failover_locks"""

    server_lock: Union[int, None]  # timestamp
    user_locks: list[str]  # snapshot IDs


class AgentClientLookup(TypedDict):
    """Reply dict format for support agent bucket lookups for v/ded servers"""

    wans: dict[str, str]
    repo: ResticRepo
    svr_class: str


class AgentCpuserLookup(TypedDict):
    """Reply dict format for support agent bucket lookups for cPanel users"""

    wans: dict[str, str]
    repo: ResticRepo


class VznodeBackupLookup(TypedDict):
    """Reply dict format for ``BakAuth.vzclient_backup``"""

    endpoints: dict[str, str]
    node_keys: ResticRepo
    vps_keys: dict[int, ResticRepo]
    # task_ids is sent by bakauth but not stored in this dict
    changed: dict[int, str]


class VznodeRestoreLookup(TypedDict):
    """Reply dict format for ``BakAuth.vzclient_restore``"""

    this_endpoint: str
    key_info: ResticRepo
    all_endpoints: dict[str, str]


class UserBuckets(TypedDict):
    """Reply dict format for ``BakAuth.get_user_buckets``"""

    copy_users: list[str]
    quotas_gb: dict[str, int]
    repos: dict[str, ResticRepo]
    missing: list[str]


class RegCopy(TypedDict):
    """Info on a cross-coast cluster"""

    name: str
    location: str
    endpoint: str


class RegDetails(TypedDict):
    """Reply dict format for ``BakAuth.get_reg_details``"""

    name: str  # cluster name
    location: str
    svr_class: str  # imh_vps, imh_reseller, imh_shared, hub_shared, or imh_ded
    client_host: str  # short hostname bakauth knows this client as
    endpoint: str  # url such as https://backups.lax1.imhcloud.net
    wans: dict[str, str]  # name -> urls for all clusters' wans
    copy: RegCopy
    repo: ResticRepo