# Generated by ariadne-codegen
# Source: queries.graphql

from typing import Literal, Union

from pydantic import Field

from .base_model import BaseModel
from .fragments import BucketConfigSelection


class BucketAdd(BaseModel):
    bucket_add: Union[
        "BucketAddBucketAddBucketAddSuccess",
        "BucketAddBucketAddBucketAlreadyAdded",
        "BucketAddBucketAddBucketDoesNotExist",
        "BucketAddBucketAddBucketFileExtensionsToIndexInvalid",
        "BucketAddBucketAddBucketIndexContentBytesInvalid",
        "BucketAddBucketAddInsufficientPermissions",
        "BucketAddBucketAddNotificationConfigurationError",
        "BucketAddBucketAddNotificationTopicNotFound",
        "BucketAddBucketAddSnsInvalid",
        "BucketAddBucketAddSubscriptionInvalid",
    ] = Field(alias="bucketAdd", discriminator="typename__")


class BucketAddBucketAddBucketAddSuccess(BaseModel):
    typename__: Literal["BucketAddSuccess"] = Field(alias="__typename")
    bucket_config: "BucketAddBucketAddBucketAddSuccessBucketConfig" = Field(alias="bucketConfig")


class BucketAddBucketAddBucketAddSuccessBucketConfig(BucketConfigSelection):
    pass


class BucketAddBucketAddBucketAlreadyAdded(BaseModel):
    typename__: Literal["BucketAlreadyAdded"] = Field(alias="__typename")


class BucketAddBucketAddBucketDoesNotExist(BaseModel):
    typename__: Literal["BucketDoesNotExist"] = Field(alias="__typename")


class BucketAddBucketAddBucketFileExtensionsToIndexInvalid(BaseModel):
    typename__: Literal["BucketFileExtensionsToIndexInvalid"] = Field(alias="__typename")


class BucketAddBucketAddBucketIndexContentBytesInvalid(BaseModel):
    typename__: Literal["BucketIndexContentBytesInvalid"] = Field(alias="__typename")


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


class BucketAddBucketAddNotificationConfigurationError(BaseModel):
    typename__: Literal["NotificationConfigurationError"] = Field(alias="__typename")


class BucketAddBucketAddNotificationTopicNotFound(BaseModel):
    typename__: Literal["NotificationTopicNotFound"] = Field(alias="__typename")


class BucketAddBucketAddSnsInvalid(BaseModel):
    typename__: Literal["SnsInvalid"] = Field(alias="__typename")


class BucketAddBucketAddSubscriptionInvalid(BaseModel):
    typename__: Literal["SubscriptionInvalid"] = Field(alias="__typename")


BucketAdd.model_rebuild()
BucketAddBucketAddBucketAddSuccess.model_rebuild()
