#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateCacheEntryRequest {
#[prost(message, optional, tag = "1")]
pub metadata: ::core::option::Option<CacheMetadata>,
#[prost(string, tag = "2")]
pub key: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub version: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateCacheEntryResponse {
#[prost(bool, tag = "1")]
pub ok: bool,
#[prost(string, tag = "2")]
pub signed_upload_url: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinalizeCacheEntryUploadRequest {
#[prost(message, optional, tag = "1")]
pub metadata: ::core::option::Option<CacheMetadata>,
#[prost(string, tag = "2")]
pub key: ::prost::alloc::string::String,
#[prost(int64, tag = "3")]
pub size_bytes: i64,
#[prost(string, tag = "4")]
pub version: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinalizeCacheEntryUploadResponse {
#[prost(bool, tag = "1")]
pub ok: bool,
#[prost(int64, tag = "2")]
pub entry_id: i64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCacheEntryDownloadUrlRequest {
#[prost(message, optional, tag = "1")]
pub metadata: ::core::option::Option<CacheMetadata>,
#[prost(string, tag = "2")]
pub key: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "3")]
pub restore_keys: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "4")]
pub version: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCacheEntryDownloadUrlResponse {
#[prost(bool, tag = "1")]
pub ok: bool,
#[prost(string, tag = "2")]
pub signed_download_url: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub matched_key: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CacheMetadata {
#[prost(int64, tag = "1")]
pub repository_id: i64,
#[prost(message, repeated, tag = "2")]
pub scope: ::prost::alloc::vec::Vec<CacheScope>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CacheScope {
#[prost(string, tag = "1")]
pub scope: ::prost::alloc::string::String,
#[prost(int64, tag = "2")]
pub permission: i64,
}