| |
| |
| 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; |
| } |