"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
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 GetDataSourceSourceCodeDownloadURLRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DATA_SOURCE_NAME_FIELD_NUMBER: builtins.int
    data_source_name: builtins.str
    def __init__(
        self,
        *,
        data_source_name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["data_source_name", b"data_source_name"]) -> None: ...

global___GetDataSourceSourceCodeDownloadURLRequest = GetDataSourceSourceCodeDownloadURLRequest

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

    DOWNLOAD_URL_FIELD_NUMBER: builtins.int
    download_url: builtins.str
    def __init__(
        self,
        *,
        download_url: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["download_url", b"download_url"]) -> None: ...

global___GetDataSourceSourceCodeDownloadURLResponse = GetDataSourceSourceCodeDownloadURLResponse

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

    DATA_SOURCE_NAME_FIELD_NUMBER: builtins.int
    REPOSITORY_NAME_FIELD_NUMBER: builtins.int
    data_source_name: builtins.str
    repository_name: builtins.str
    def __init__(
        self,
        *,
        data_source_name: builtins.str = ...,
        repository_name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["repository_details", b"repository_details", "repository_name", b"repository_name"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["data_source_name", b"data_source_name", "repository_details", b"repository_details", "repository_name", b"repository_name"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["repository_details", b"repository_details"]) -> typing_extensions.Literal["repository_name"] | None: ...

global___GetDataSourceSourceCodeUploadRequest = GetDataSourceSourceCodeUploadRequest

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

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

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        value: builtins.str
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: builtins.str = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...

    UPLOAD_URL_FIELD_NUMBER: builtins.int
    EXTRA_HEADERS_FIELD_NUMBER: builtins.int
    upload_url: builtins.str
    """Upload url intended for the data source source code"""
    @property
    def extra_headers(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]:
        """Extra headers that are required for the upload"""
    def __init__(
        self,
        *,
        upload_url: builtins.str = ...,
        extra_headers: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["extra_headers", b"extra_headers", "upload_url", b"upload_url"]) -> None: ...

global___GetDataSourceSourceCodeUploadResponse = GetDataSourceSourceCodeUploadResponse
