# Generated by ariadne-codegen
# Source: exponent/core/graphql/operations

from typing import Any, List, Literal, Union

from pydantic import Field

from .base_model import BaseModel


class EnableCloudRepository(BaseModel):
    enable_cloud_repository: Union[
        "EnableCloudRepositoryEnableCloudRepositoryContainerImages",
        "EnableCloudRepositoryEnableCloudRepositoryUnauthenticatedError",
        "EnableCloudRepositoryEnableCloudRepositoryCloudConfigNotFoundError",
        "EnableCloudRepositoryEnableCloudRepositoryGithubConfigNotFoundError",
        "EnableCloudRepositoryEnableCloudRepositoryCloudSessionError",
        "EnableCloudRepositoryEnableCloudRepositoryError",
    ] = Field(alias="enableCloudRepository", discriminator="typename__")


class EnableCloudRepositoryEnableCloudRepositoryContainerImages(BaseModel):
    typename__: Literal["ContainerImages"] = Field(alias="__typename")
    images: List["EnableCloudRepositoryEnableCloudRepositoryContainerImagesImages"]


class EnableCloudRepositoryEnableCloudRepositoryContainerImagesImages(BaseModel):
    build_ref: str = Field(alias="buildRef")
    created_at: Any = Field(alias="createdAt")
    updated_at: Any = Field(alias="updatedAt")


class EnableCloudRepositoryEnableCloudRepositoryUnauthenticatedError(BaseModel):
    typename__: Literal["UnauthenticatedError"] = Field(alias="__typename")
    message: str


class EnableCloudRepositoryEnableCloudRepositoryCloudConfigNotFoundError(BaseModel):
    typename__: Literal["CloudConfigNotFoundError"] = Field(alias="__typename")
    message: str


class EnableCloudRepositoryEnableCloudRepositoryGithubConfigNotFoundError(BaseModel):
    typename__: Literal["GithubConfigNotFoundError"] = Field(alias="__typename")
    message: str


class EnableCloudRepositoryEnableCloudRepositoryCloudSessionError(BaseModel):
    typename__: Literal["CloudSessionError"] = Field(alias="__typename")
    message: str


class EnableCloudRepositoryEnableCloudRepositoryError(BaseModel):
    typename__: Literal["Error"] = Field(alias="__typename")
    message: str


EnableCloudRepository.model_rebuild()
EnableCloudRepositoryEnableCloudRepositoryContainerImages.model_rebuild()
