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

from __future__ import annotations

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


@dataclass
class NoAuth:
    auth_type: str


@dataclass
class BasicAuth:
    auth_type: str
    password: str
    username: str


class WhereToAddAPIKeyTo(Enum):
    header = 'header'
    query = 'query'


@dataclass
class APIKey:
    auth_location: WhereToAddAPIKeyTo
    auth_type: str
    key: str
    value: str


@dataclass
class BearerToken:
    auth_type: str
    token: str


@dataclass
class RESTAPIConnectorSpec:
    authentication: Union[NoAuth, BasicAuth, APIKey, BearerToken]
