"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import nbox.relics.proto.relics_pb2
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class _Actions:
    ValueType = typing.NewType('ValueType', builtins.int)
    V: typing_extensions.TypeAlias = ValueType
class _ActionsEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Actions.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    NONE: _Actions.ValueType  # 0
    CREATE: _Actions.ValueType  # 1
    UPDATE: _Actions.ValueType  # 2
    DELETE: _Actions.ValueType  # 3
class Actions(_Actions, metaclass=_ActionsEnumTypeWrapper):
    """This is a set of generic RPCs which can be used to mark operation type for relics"""
    pass

NONE: Actions.ValueType  # 0
CREATE: Actions.ValueType  # 1
UPDATE: Actions.ValueType  # 2
DELETE: Actions.ValueType  # 3
global___Actions = Actions


class CreateRelicRequest(google.protobuf.message.Message):
    """things related to general WebAPIs"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    WORKSPACE_ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    REGION_FIELD_NUMBER: builtins.int
    AUTH_FIELD_NUMBER: builtins.int
    BUCKET_META_FIELD_NUMBER: builtins.int
    workspace_id: typing.Text
    """the workspace id for which we are creating the relic"""

    name: typing.Text
    region: typing.Text
    @property
    def auth(self) -> proto.relics_pb2.BackendInfo: ...
    @property
    def bucket_meta(self) -> proto.relics_pb2.BucketMetadata:
        """If the bucket is in their platform then they tell us that they want one there
        else we are going to assume that they want one in our platform
        """
        pass
    def __init__(self,
        *,
        workspace_id: typing.Text = ...,
        name: typing.Text = ...,
        region: typing.Text = ...,
        auth: typing.Optional[proto.relics_pb2.BackendInfo] = ...,
        bucket_meta: typing.Optional[proto.relics_pb2.BucketMetadata] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["auth",b"auth","bucket_meta",b"bucket_meta"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["auth",b"auth","bucket_meta",b"bucket_meta","name",b"name","region",b"region","workspace_id",b"workspace_id"]) -> None: ...
global___CreateRelicRequest = CreateRelicRequest

class ListRelicsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    WORKSPACE_ID_FIELD_NUMBER: builtins.int
    RELIC_NAME_FIELD_NUMBER: builtins.int
    PAGE_NO_FIELD_NUMBER: builtins.int
    RELIC_ID_FIELD_NUMBER: builtins.int
    workspace_id: typing.Text
    """the workspace id for which we are creating the relic"""

    relic_name: typing.Text
    """the name of the relic"""

    page_no: builtins.int
    """the page number for pagination needs"""

    relic_id: typing.Text
    """the ID of the parent relic"""

    def __init__(self,
        *,
        workspace_id: typing.Text = ...,
        relic_name: typing.Text = ...,
        page_no: builtins.int = ...,
        relic_id: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["page_no",b"page_no","relic_id",b"relic_id","relic_name",b"relic_name","workspace_id",b"workspace_id"]) -> None: ...
global___ListRelicsRequest = ListRelicsRequest

class ListRelicsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    RELICS_FIELD_NUMBER: builtins.int
    TOTAL_RELICS_FIELD_NUMBER: builtins.int
    @property
    def relics(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[proto.relics_pb2.Relic]: ...
    total_relics: builtins.int
    """the total number of relics used for pagination"""

    def __init__(self,
        *,
        relics: typing.Optional[typing.Iterable[proto.relics_pb2.Relic]] = ...,
        total_relics: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["relics",b"relics","total_relics",b"total_relics"]) -> None: ...
global___ListRelicsResponse = ListRelicsResponse

class ListRelicFilesRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    WORKSPACE_ID_FIELD_NUMBER: builtins.int
    RELIC_ID_FIELD_NUMBER: builtins.int
    RELIC_NAME_FIELD_NUMBER: builtins.int
    PREFIX_FIELD_NUMBER: builtins.int
    FILE_NAME_FIELD_NUMBER: builtins.int
    PAGE_NO_FIELD_NUMBER: builtins.int
    workspace_id: typing.Text
    """the workspace id for which we are creating the relic"""

    relic_id: typing.Text
    """the id of the relic"""

    relic_name: typing.Text
    """the id of the relic"""

    prefix: typing.Text
    """the prefix for the files"""

    file_name: typing.Text
    """for searching through the files, we may not support this functionality
    right now, but this is a crucial system to have
    """

    page_no: builtins.int
    """the page number for pagination needs"""

    def __init__(self,
        *,
        workspace_id: typing.Text = ...,
        relic_id: typing.Text = ...,
        relic_name: typing.Text = ...,
        prefix: typing.Text = ...,
        file_name: typing.Text = ...,
        page_no: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["file_name",b"file_name","page_no",b"page_no","prefix",b"prefix","relic_id",b"relic_id","relic_name",b"relic_name","workspace_id",b"workspace_id"]) -> None: ...
global___ListRelicFilesRequest = ListRelicFilesRequest

class ListRelicFilesResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    FILES_FIELD_NUMBER: builtins.int
    TOTAL_FILES_FIELD_NUMBER: builtins.int
    @property
    def files(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[proto.relics_pb2.RelicFile]: ...
    total_files: builtins.int
    """the total number of files used for pagination"""

    def __init__(self,
        *,
        files: typing.Optional[typing.Iterable[proto.relics_pb2.RelicFile]] = ...,
        total_files: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["files",b"files","total_files",b"total_files"]) -> None: ...
global___ListRelicFilesResponse = ListRelicFilesResponse

class ActivityLogRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    WORKSPACE_ID_FIELD_NUMBER: builtins.int
    RELIC_ID_FIELD_NUMBER: builtins.int
    RELIC_NAME_FIELD_NUMBER: builtins.int
    USERNAME_FIELD_NUMBER: builtins.int
    FROM_TIMESTAMP_NS_FIELD_NUMBER: builtins.int
    TO_TIMESTAMP_NS_FIELD_NUMBER: builtins.int
    PAGE_NO_FIELD_NUMBER: builtins.int
    workspace_id: typing.Text
    """the workspace id for which we are creating the relic"""

    relic_id: typing.Text
    """the id of the relic"""

    relic_name: typing.Text
    """the id of the relic"""

    username: typing.Text
    """the username for which we want to get the logs"""

    from_timestamp_ns: builtins.int
    """the timestamp from which we want to get the logs"""

    to_timestamp_ns: builtins.int
    """the timestamp to which we want to get the logs"""

    page_no: builtins.int
    """the page number for pagination needs"""

    def __init__(self,
        *,
        workspace_id: typing.Text = ...,
        relic_id: typing.Text = ...,
        relic_name: typing.Text = ...,
        username: typing.Text = ...,
        from_timestamp_ns: builtins.int = ...,
        to_timestamp_ns: builtins.int = ...,
        page_no: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["from_timestamp_ns",b"from_timestamp_ns","page_no",b"page_no","relic_id",b"relic_id","relic_name",b"relic_name","to_timestamp_ns",b"to_timestamp_ns","username",b"username","workspace_id",b"workspace_id"]) -> None: ...
global___ActivityLogRequest = ActivityLogRequest

class ActivityLog(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    TIMESTAMP_NS_FIELD_NUMBER: builtins.int
    RELIC_ID_FIELD_NUMBER: builtins.int
    OPERATION_FIELD_NUMBER: builtins.int
    OBJECT_SIZE_FIELD_NUMBER: builtins.int
    USERNAME_FIELD_NUMBER: builtins.int
    OBJECT_NAME_FIELD_NUMBER: builtins.int
    timestamp_ns: builtins.int
    """the timestamp at which the logs were created"""

    relic_id: typing.Text
    """the id of the relic"""

    operation: global___Actions.ValueType
    """the operation that was performed"""

    object_size: builtins.float
    """the size of the object that was operated on"""

    username: typing.Text
    """the username of the user who performed the operation"""

    object_name: typing.Text
    """the name of the object that was operated on"""

    def __init__(self,
        *,
        timestamp_ns: builtins.int = ...,
        relic_id: typing.Text = ...,
        operation: global___Actions.ValueType = ...,
        object_size: builtins.float = ...,
        username: typing.Text = ...,
        object_name: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["object_name",b"object_name","object_size",b"object_size","operation",b"operation","relic_id",b"relic_id","timestamp_ns",b"timestamp_ns","username",b"username"]) -> None: ...
global___ActivityLog = ActivityLog

class ActivityLogResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    LOGS_FIELD_NUMBER: builtins.int
    @property
    def logs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ActivityLog]: ...
    def __init__(self,
        *,
        logs: typing.Optional[typing.Iterable[global___ActivityLog]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["logs",b"logs"]) -> None: ...
global___ActivityLogResponse = ActivityLogResponse

class ListBucketRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    WORKSPACE_ID_FIELD_NUMBER: builtins.int
    AUTH_FIELD_NUMBER: builtins.int
    workspace_id: typing.Text
    """the workspace id for which we are creating the relic"""

    @property
    def auth(self) -> proto.relics_pb2.BackendInfo: ...
    def __init__(self,
        *,
        workspace_id: typing.Text = ...,
        auth: typing.Optional[proto.relics_pb2.BackendInfo] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["auth",b"auth"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["auth",b"auth","workspace_id",b"workspace_id"]) -> None: ...
global___ListBucketRequest = ListBucketRequest

class ListBucketResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    BUCKETS_FIELD_NUMBER: builtins.int
    @property
    def buckets(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
    def __init__(self,
        *,
        buckets: typing.Optional[typing.Iterable[typing.Text]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["buckets",b"buckets"]) -> None: ...
global___ListBucketResponse = ListBucketResponse