# generated by datamodel-codegen:
#   filename:  redis_definitions.json

from __future__ import annotations

from dataclasses import dataclass
from enum import Enum
from typing import Optional, Union


class DisableSSL(Enum):
    disable = 'disable'


@dataclass
class DisableSSLMode:
    mode: DisableSSL


class Enable(Enum):
    verify_full = 'verify-full'


@dataclass
class VerifyFullSSLMode:
    ca_cert: str
    client_cert: str
    client_key: str
    mode: Enable


@dataclass
class RedisConnectorResource:
    host: str
    port: int
    password: Optional[str] = None
    ssl: Optional[bool] = False
    ssl_mode: Optional[Union[DisableSSLMode, VerifyFullSSLMode]] = None
    username: Optional[str] = None
