blob: 4177ccdc15bf87808f783879330634fca0bc832f [file] [log] [blame]
syntax = "proto3";
package bufman.dubbo.apache.org.registry.v1alpha1;
import "module/v1alpha1/module.proto";
// DownloadService is the download service.
service DownloadService {
// Download downloads a BSR module.
// NOTE: Newer clients should use DownloadManifestAndBlobs instead.
rpc Download(DownloadRequest) returns (DownloadResponse) {
option idempotency_level = NO_SIDE_EFFECTS;
}
// DownloadManifestAndBlobs downloads a module in the manifest+blobs encoding format.
rpc DownloadManifestAndBlobs(DownloadManifestAndBlobsRequest) returns (DownloadManifestAndBlobsResponse) {
option idempotency_level = NO_SIDE_EFFECTS;
}
}
// DownloadRequest specifies the module to download.
message DownloadRequest {
string owner = 1;
string repository = 2;
string reference = 3;
}
// DownloadResponse contains the remote module.
message DownloadResponse {
bufman.dubbo.apache.org.module.v1alpha1.Module module = 1;
}
// DownloadManifestAndBlobsRequest specifies the module to download.
message DownloadManifestAndBlobsRequest {
string owner = 1;
string repository = 2;
string reference = 3;
}
// DownloadManifestAndBlobsResponse is the returned resolved remote module.
message DownloadManifestAndBlobsResponse {
// manifest is the manifest of the module's content.
bufman.dubbo.apache.org.module.v1alpha1.Blob manifest = 1;
// blobs is a set of blobs that closes on the module's manifest to form the
// complete module's content.
repeated bufman.dubbo.apache.org.module.v1alpha1.Blob blobs = 2;
}