# Generated by the protocol buffer compiler.  DO NOT EDIT!
# sources: steammessages_cloud.proto
# plugin: python-betterproto

from dataclasses import dataclass
from typing import List

import betterproto


@dataclass
class CCloud_GetUploadServerInfo_Request(betterproto.Message):
    appid: int = betterproto.uint32_field(1)


@dataclass
class CCloud_GetUploadServerInfo_Response(betterproto.Message):
    server_url: str = betterproto.string_field(1)


@dataclass
class CCloud_BeginHTTPUpload_Request(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    file_size: int = betterproto.uint32_field(2)
    filename: str = betterproto.string_field(3)
    file_sha: str = betterproto.string_field(4)
    is_public: bool = betterproto.bool_field(5)
    platforms_to_sync: List[str] = betterproto.string_field(6)
    request_headers_names: List[str] = betterproto.string_field(7)
    request_headers_values: List[str] = betterproto.string_field(8)


@dataclass
class CCloud_BeginHTTPUpload_Response(betterproto.Message):
    ugcid: float = betterproto.fixed64_field(1)
    timestamp: float = betterproto.fixed32_field(2)
    url_host: str = betterproto.string_field(3)
    url_path: str = betterproto.string_field(4)
    use_https: bool = betterproto.bool_field(5)
    request_headers: List["CCloud_BeginHTTPUpload_ResponseHTTPHeaders"] = betterproto.message_field(6)


@dataclass
class CCloud_BeginHTTPUpload_ResponseHTTPHeaders(betterproto.Message):
    name: str = betterproto.string_field(1)
    value: str = betterproto.string_field(2)


@dataclass
class CCloud_CommitHTTPUpload_Request(betterproto.Message):
    transfer_succeeded: bool = betterproto.bool_field(1)
    appid: int = betterproto.uint32_field(2)
    file_sha: str = betterproto.string_field(3)
    filename: str = betterproto.string_field(4)


@dataclass
class CCloud_CommitHTTPUpload_Response(betterproto.Message):
    file_committed: bool = betterproto.bool_field(1)


@dataclass
class CCloud_GetFileDetails_Request(betterproto.Message):
    ugcid: int = betterproto.uint64_field(1)
    appid: int = betterproto.uint32_field(2)


@dataclass
class CCloud_UserFile(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    ugcid: int = betterproto.uint64_field(2)
    filename: str = betterproto.string_field(3)
    timestamp: int = betterproto.uint64_field(4)
    file_size: int = betterproto.uint32_field(5)
    url: str = betterproto.string_field(6)
    steamid_creator: float = betterproto.fixed64_field(7)
    flags: int = betterproto.uint32_field(8)
    platforms_to_sync: List[str] = betterproto.string_field(9)
    file_sha: str = betterproto.string_field(10)


@dataclass
class CCloud_GetFileDetails_Response(betterproto.Message):
    details: "CCloud_UserFile" = betterproto.message_field(1)


@dataclass
class CCloud_EnumerateUserFiles_Request(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    extended_details: bool = betterproto.bool_field(2)
    count: int = betterproto.uint32_field(3)
    start_index: int = betterproto.uint32_field(4)


@dataclass
class CCloud_EnumerateUserFiles_Response(betterproto.Message):
    files: List["CCloud_UserFile"] = betterproto.message_field(1)
    total_files: int = betterproto.uint32_field(2)


@dataclass
class CCloud_Delete_Request(betterproto.Message):
    filename: str = betterproto.string_field(1)
    appid: int = betterproto.uint32_field(2)


@dataclass
class CCloud_Delete_Response(betterproto.Message):
    pass


@dataclass
class CCloud_GetClientEncryptionKey_Request(betterproto.Message):
    pass


@dataclass
class CCloud_GetClientEncryptionKey_Response(betterproto.Message):
    key: bytes = betterproto.bytes_field(1)
    crc: int = betterproto.int32_field(2)


@dataclass
class CCloud_CDNReport_Notification(betterproto.Message):
    steamid: float = betterproto.fixed64_field(1)
    url: str = betterproto.string_field(2)
    success: bool = betterproto.bool_field(3)
    http_status_code: int = betterproto.uint32_field(4)
    expected_bytes: int = betterproto.uint64_field(5)
    received_bytes: int = betterproto.uint64_field(6)
    duration: int = betterproto.uint32_field(7)


@dataclass
class CCloud_ExternalStorageTransferReport_Notification(betterproto.Message):
    host: str = betterproto.string_field(1)
    path: str = betterproto.string_field(2)
    is_upload: bool = betterproto.bool_field(3)
    success: bool = betterproto.bool_field(4)
    http_status_code: int = betterproto.uint32_field(5)
    bytes_expected: int = betterproto.uint64_field(6)
    bytes_actual: int = betterproto.uint64_field(7)
    duration_ms: int = betterproto.uint32_field(8)
    cellid: int = betterproto.uint32_field(9)
    proxied: bool = betterproto.bool_field(10)
    ipv6_local: bool = betterproto.bool_field(11)
    ipv6_remote: bool = betterproto.bool_field(12)


@dataclass
class CCloud_ClientBeginFileUpload_Request(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    file_size: int = betterproto.uint32_field(2)
    raw_file_size: int = betterproto.uint32_field(3)
    file_sha: bytes = betterproto.bytes_field(4)
    time_stamp: int = betterproto.uint64_field(5)
    filename: str = betterproto.string_field(6)
    platforms_to_sync: int = betterproto.uint32_field(7)
    cell_id: int = betterproto.uint32_field(9)
    can_encrypt: bool = betterproto.bool_field(10)
    is_shared_file: bool = betterproto.bool_field(11)
    realm: int = betterproto.uint32_field(12)


@dataclass
class ClientCloudFileUploadBlockDetails(betterproto.Message):
    url_host: str = betterproto.string_field(1)
    url_path: str = betterproto.string_field(2)
    use_https: bool = betterproto.bool_field(3)
    http_method: int = betterproto.int32_field(4)
    request_headers: List["ClientCloudFileUploadBlockDetailsHTTPHeaders"] = betterproto.message_field(5)
    block_offset: int = betterproto.uint64_field(6)
    block_length: int = betterproto.uint32_field(7)
    explicit_body_data: bytes = betterproto.bytes_field(8)
    may_parallelize: bool = betterproto.bool_field(9)


@dataclass
class ClientCloudFileUploadBlockDetailsHTTPHeaders(betterproto.Message):
    name: str = betterproto.string_field(1)
    value: str = betterproto.string_field(2)


@dataclass
class CCloud_ClientBeginFileUpload_Response(betterproto.Message):
    encrypt_file: bool = betterproto.bool_field(1)
    block_requests: List["ClientCloudFileUploadBlockDetails"] = betterproto.message_field(2)


@dataclass
class CCloud_ClientCommitFileUpload_Request(betterproto.Message):
    transfer_succeeded: bool = betterproto.bool_field(1)
    appid: int = betterproto.uint32_field(2)
    file_sha: bytes = betterproto.bytes_field(3)
    filename: str = betterproto.string_field(4)


@dataclass
class CCloud_ClientCommitFileUpload_Response(betterproto.Message):
    file_committed: bool = betterproto.bool_field(1)


@dataclass
class CCloud_ClientFileDownload_Request(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    filename: str = betterproto.string_field(2)
    realm: int = betterproto.uint32_field(3)


@dataclass
class CCloud_ClientFileDownload_Response(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    file_size: int = betterproto.uint32_field(2)
    raw_file_size: int = betterproto.uint32_field(3)
    sha_file: bytes = betterproto.bytes_field(4)
    time_stamp: int = betterproto.uint64_field(5)
    is_explicit_delete: bool = betterproto.bool_field(6)
    url_host: str = betterproto.string_field(7)
    url_path: str = betterproto.string_field(8)
    use_https: bool = betterproto.bool_field(9)
    request_headers: List["CCloud_ClientFileDownload_ResponseHTTPHeaders"] = betterproto.message_field(10)
    encrypted: bool = betterproto.bool_field(11)


@dataclass
class CCloud_ClientFileDownload_ResponseHTTPHeaders(betterproto.Message):
    name: str = betterproto.string_field(1)
    value: str = betterproto.string_field(2)


@dataclass
class CCloud_ClientDeleteFile_Request(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    filename: str = betterproto.string_field(2)
    is_explicit_delete: bool = betterproto.bool_field(3)


@dataclass
class CCloud_ClientDeleteFile_Response(betterproto.Message):
    pass


@dataclass
class CCloud_ClientConflictResolution_Notification(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    chose_local_files: bool = betterproto.bool_field(2)


@dataclass
class CCloud_EnumerateUserApps_Request(betterproto.Message):
    pass


@dataclass
class CCloud_EnumerateUserApps_Response(betterproto.Message):
    apps: List["CCloud_EnumerateUserApps_ResponseApps"] = betterproto.message_field(1)


@dataclass
class CCloud_EnumerateUserApps_ResponseApps(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    totalcount: int = betterproto.int32_field(2)
    totalsize: int = betterproto.int64_field(3)
