"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""

import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.empty_pb2
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import sys
import typing

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class _ObjectTransferStage:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _ObjectTransferStageEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ObjectTransferStage.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    OBJECT_TRANSFER_STAGE_UNSPECIFIED: _ObjectTransferStage.ValueType  # 0
    BEFORE_DATA: _ObjectTransferStage.ValueType  # 1
    """Before data transfer"""
    AFTER_DATA: _ObjectTransferStage.ValueType  # 2
    """After data transfer"""
    NEVER: _ObjectTransferStage.ValueType  # 3
    """Don't copy"""

class ObjectTransferStage(_ObjectTransferStage, metaclass=_ObjectTransferStageEnumTypeWrapper): ...

OBJECT_TRANSFER_STAGE_UNSPECIFIED: ObjectTransferStage.ValueType  # 0
BEFORE_DATA: ObjectTransferStage.ValueType  # 1
"""Before data transfer"""
AFTER_DATA: ObjectTransferStage.ValueType  # 2
"""After data transfer"""
NEVER: ObjectTransferStage.ValueType  # 3
"""Don't copy"""
global___ObjectTransferStage = ObjectTransferStage

class _CleanupPolicy:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _CleanupPolicyEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CleanupPolicy.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    CLEANUP_POLICY_UNSPECIFIED: _CleanupPolicy.ValueType  # 0
    DISABLED: _CleanupPolicy.ValueType  # 1
    """Don't cleanup"""
    DROP: _CleanupPolicy.ValueType  # 2
    """Drop"""
    TRUNCATE: _CleanupPolicy.ValueType  # 3
    """Truncate"""

class CleanupPolicy(_CleanupPolicy, metaclass=_CleanupPolicyEnumTypeWrapper): ...

CLEANUP_POLICY_UNSPECIFIED: CleanupPolicy.ValueType  # 0
DISABLED: CleanupPolicy.ValueType  # 1
"""Don't cleanup"""
DROP: CleanupPolicy.ValueType  # 2
"""Drop"""
TRUNCATE: CleanupPolicy.ValueType  # 3
"""Truncate"""
global___CleanupPolicy = CleanupPolicy

class _ColumnType:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _ColumnTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ColumnType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    COLUMN_TYPE_UNSPECIFIED: _ColumnType.ValueType  # 0
    INT32: _ColumnType.ValueType  # 1
    INT16: _ColumnType.ValueType  # 2
    INT8: _ColumnType.ValueType  # 3
    UINT64: _ColumnType.ValueType  # 4
    UINT32: _ColumnType.ValueType  # 5
    UINT16: _ColumnType.ValueType  # 6
    UINT8: _ColumnType.ValueType  # 7
    DOUBLE: _ColumnType.ValueType  # 8
    BOOLEAN: _ColumnType.ValueType  # 9
    STRING: _ColumnType.ValueType  # 10
    UTF8: _ColumnType.ValueType  # 11
    ANY: _ColumnType.ValueType  # 12
    DATETIME: _ColumnType.ValueType  # 13
    INT64: _ColumnType.ValueType  # 14

class ColumnType(_ColumnType, metaclass=_ColumnTypeEnumTypeWrapper): ...

COLUMN_TYPE_UNSPECIFIED: ColumnType.ValueType  # 0
INT32: ColumnType.ValueType  # 1
INT16: ColumnType.ValueType  # 2
INT8: ColumnType.ValueType  # 3
UINT64: ColumnType.ValueType  # 4
UINT32: ColumnType.ValueType  # 5
UINT16: ColumnType.ValueType  # 6
UINT8: ColumnType.ValueType  # 7
DOUBLE: ColumnType.ValueType  # 8
BOOLEAN: ColumnType.ValueType  # 9
STRING: ColumnType.ValueType  # 10
UTF8: ColumnType.ValueType  # 11
ANY: ColumnType.ValueType  # 12
DATETIME: ColumnType.ValueType  # 13
INT64: ColumnType.ValueType  # 14
global___ColumnType = ColumnType

@typing.final
class AltName(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FROM_NAME_FIELD_NUMBER: builtins.int
    TO_NAME_FIELD_NUMBER: builtins.int
    from_name: builtins.str
    """Source table name"""
    to_name: builtins.str
    """Target table name"""
    def __init__(
        self,
        *,
        from_name: builtins.str = ...,
        to_name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["from_name", b"from_name", "to_name", b"to_name"]) -> None: ...

global___AltName = AltName

@typing.final
class Secret(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RAW_FIELD_NUMBER: builtins.int
    raw: builtins.str
    """Raw secret value"""
    def __init__(
        self,
        *,
        raw: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["raw", b"raw", "value", b"value"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["raw", b"raw", "value", b"value"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["value", b"value"]) -> typing.Literal["raw"] | None: ...

global___Secret = Secret

@typing.final
class ColSchema(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    KEY_FIELD_NUMBER: builtins.int
    REQUIRED_FIELD_NUMBER: builtins.int
    PATH_FIELD_NUMBER: builtins.int
    name: builtins.str
    type: global___ColumnType.ValueType
    key: builtins.bool
    required: builtins.bool
    path: builtins.str
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        type: global___ColumnType.ValueType = ...,
        key: builtins.bool = ...,
        required: builtins.bool = ...,
        path: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["key", b"key", "name", b"name", "path", b"path", "required", b"required", "type", b"type"]) -> None: ...

global___ColSchema = ColSchema

@typing.final
class TLSMode(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DISABLED_FIELD_NUMBER: builtins.int
    ENABLED_FIELD_NUMBER: builtins.int
    @property
    def disabled(self) -> google.protobuf.empty_pb2.Empty: ...
    @property
    def enabled(self) -> global___TLSConfig: ...
    def __init__(
        self,
        *,
        disabled: google.protobuf.empty_pb2.Empty | None = ...,
        enabled: global___TLSConfig | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["disabled", b"disabled", "enabled", b"enabled", "tls_mode", b"tls_mode"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["disabled", b"disabled", "enabled", b"enabled", "tls_mode", b"tls_mode"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["tls_mode", b"tls_mode"]) -> typing.Literal["disabled", "enabled"] | None: ...

global___TLSMode = TLSMode

@typing.final
class TLSConfig(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CA_CERTIFICATE_FIELD_NUMBER: builtins.int
    ca_certificate: builtins.str
    """CA certificate

    X.509 certificate of the certificate authority which issued the server's
    certificate, in PEM format. When CA certificate is specified TLS is used to
    connect to the server.
    """
    def __init__(
        self,
        *,
        ca_certificate: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["ca_certificate", b"ca_certificate"]) -> None: ...

global___TLSConfig = TLSConfig

@typing.final
class ColumnValue(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    STRING_VALUE_FIELD_NUMBER: builtins.int
    string_value: builtins.str
    def __init__(
        self,
        *,
        string_value: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["string_value", b"string_value", "value", b"value"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["string_value", b"string_value", "value", b"value"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["value", b"value"]) -> typing.Literal["string_value"] | None: ...

global___ColumnValue = ColumnValue

@typing.final
class DataTransformationOptions(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CLOUD_FUNCTION_FIELD_NUMBER: builtins.int
    NUMBER_OF_RETRIES_FIELD_NUMBER: builtins.int
    BUFFER_SIZE_FIELD_NUMBER: builtins.int
    BUFFER_FLUSH_INTERVAL_FIELD_NUMBER: builtins.int
    INVOCATION_TIMEOUT_FIELD_NUMBER: builtins.int
    SERVICE_ACCOUNT_ID_FIELD_NUMBER: builtins.int
    cloud_function: builtins.str
    """Cloud function"""
    number_of_retries: builtins.int
    """Number of retries"""
    buffer_size: builtins.str
    """Buffer size for function"""
    buffer_flush_interval: builtins.str
    """Flush interval"""
    invocation_timeout: builtins.str
    """Invocation timeout"""
    service_account_id: builtins.str
    """Service account"""
    def __init__(
        self,
        *,
        cloud_function: builtins.str = ...,
        number_of_retries: builtins.int = ...,
        buffer_size: builtins.str = ...,
        buffer_flush_interval: builtins.str = ...,
        invocation_timeout: builtins.str = ...,
        service_account_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["buffer_flush_interval", b"buffer_flush_interval", "buffer_size", b"buffer_size", "cloud_function", b"cloud_function", "invocation_timeout", b"invocation_timeout", "number_of_retries", b"number_of_retries", "service_account_id", b"service_account_id"]) -> None: ...

global___DataTransformationOptions = DataTransformationOptions

@typing.final
class FieldList(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FIELDS_FIELD_NUMBER: builtins.int
    @property
    def fields(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ColSchema]:
        """Column schema"""

    def __init__(
        self,
        *,
        fields: collections.abc.Iterable[global___ColSchema] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["fields", b"fields"]) -> None: ...

global___FieldList = FieldList

@typing.final
class DataSchema(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    JSON_FIELDS_FIELD_NUMBER: builtins.int
    FIELDS_FIELD_NUMBER: builtins.int
    json_fields: builtins.str
    @property
    def fields(self) -> global___FieldList: ...
    def __init__(
        self,
        *,
        json_fields: builtins.str = ...,
        fields: global___FieldList | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["fields", b"fields", "json_fields", b"json_fields", "schema", b"schema"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["fields", b"fields", "json_fields", b"json_fields", "schema", b"schema"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["schema", b"schema"]) -> typing.Literal["json_fields", "fields"] | None: ...

global___DataSchema = DataSchema

@typing.final
class NoAuth(google.protobuf.message.Message):
    """No authentication"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___NoAuth = NoAuth

@typing.final
class ConnectionManagerConnection(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CONNECTION_ID_FIELD_NUMBER: builtins.int
    SUBNET_ID_FIELD_NUMBER: builtins.int
    connection_id: builtins.str
    subnet_id: builtins.str
    """Network interface for endpoint. If none will assume public ipv4"""
    def __init__(
        self,
        *,
        connection_id: builtins.str = ...,
        subnet_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["connection_id", b"connection_id", "subnet_id", b"subnet_id"]) -> None: ...

global___ConnectionManagerConnection = ConnectionManagerConnection
