# generated by datamodel-codegen:
#   filename:  entity/services/connections/connectionBasicType.json
#   timestamp: 2022-10-04T14:49:18+00:00

from __future__ import annotations

from typing import Any

from pydantic import BaseModel, Extra, Field


class ConnectionType(BaseModel):
    __root__: Any = Field(
        ...,
        description='This schema defines basic common types that are used by other schemas.',
        title='ConnectionType',
    )


class ConnectionOptions(BaseModel):
    pass

    class Config:
        extra = Extra.allow


class ConnectionArguments(BaseModel):
    pass

    class Config:
        extra = Extra.allow


class SupportsMetadataExtraction(BaseModel):
    __root__: bool = Field(..., description='Supports Metadata Extraction.')


class SupportsUsageExtraction(BaseModel):
    __root__: bool = Field(..., description='Supports Usage Extraction.')


class SupportsLineageExtraction(BaseModel):
    __root__: bool = Field(..., description='Supports Lineage Extraction.')


class SupportsProfiler(BaseModel):
    __root__: bool = Field(..., description='Supports Profiler')


class SupportsDatabase(BaseModel):
    __root__: bool = Field(
        ...,
        description='The source service supports the database concept in its hierarchy',
    )


class SupportsQueryComment(BaseModel):
    __root__: bool = Field(
        ...,
        description='For Database Services using SQLAlchemy, True to enable running a comment for all queries run from OpenMetadata.',
    )
