"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.message
import sys

if sys.version_info >= (3, 8):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class ObjectStorageConfiguration(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    S3_FIELD_NUMBER: builtins.int
    GS_FIELD_NUMBER: builtins.int
    AZURE_BLOB_STORAGE_FIELD_NUMBER: builtins.int
    @property
    def s3(self) -> global___S3Configuration: ...
    @property
    def gs(self) -> global___GSConfiguration: ...
    @property
    def azure_blob_storage(self) -> global___AzureBlobConfiguration: ...
    def __init__(
        self,
        *,
        s3: global___S3Configuration | None = ...,
        gs: global___GSConfiguration | None = ...,
        azure_blob_storage: global___AzureBlobConfiguration | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["azure_blob_storage", b"azure_blob_storage", "gs", b"gs", "s3", b"s3", "type", b"type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["azure_blob_storage", b"azure_blob_storage", "gs", b"gs", "s3", b"s3", "type", b"type"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["type", b"type"]) -> typing_extensions.Literal["s3", "gs", "azure_blob_storage"] | None: ...

global___ObjectStorageConfiguration = ObjectStorageConfiguration

class S3Configuration(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BUCKET_FIELD_NUMBER: builtins.int
    bucket: builtins.str
    """This proto does not contain auth configuration, as by default it gets is auth from the hosting configuration.
    This is an extensible behaviour if needed (e.g: running on OpenShift while using S3 as and Object Storage)
    """
    def __init__(
        self,
        *,
        bucket: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["bucket", b"bucket"]) -> None: ...

global___S3Configuration = S3Configuration

class GSConfiguration(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BUCKET_FIELD_NUMBER: builtins.int
    bucket: builtins.str
    """This proto does not contain auth configuration, as by default it gets is auth from the hosting configuration.
    This is an extensible behaviour if needed (e.g: running on OpenShift while using S3 as and Object Storage)
    """
    def __init__(
        self,
        *,
        bucket: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["bucket", b"bucket"]) -> None: ...

global___GSConfiguration = GSConfiguration

class AzureBlobConfiguration(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    STORAGE_ACCOUNT_NAME_FIELD_NUMBER: builtins.int
    STORAGE_CONTAINER_NAME_FIELD_NUMBER: builtins.int
    storage_account_name: builtins.str
    """The Azure Storage Account name"""
    storage_container_name: builtins.str
    """The "bucket" representative in Azure"""
    def __init__(
        self,
        *,
        storage_account_name: builtins.str = ...,
        storage_container_name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["storage_account_name", b"storage_account_name", "storage_container_name", b"storage_container_name"]) -> None: ...

global___AzureBlobConfiguration = AzureBlobConfiguration
