peridot/third_party/peridot/proto/v1/yumrepofs/yumrepofs.proto

127 lines
2.9 KiB
Protocol Buffer

syntax = "proto3";
package resf.peridot.yumrepofs.v1;
import "google/api/annotations.proto";
import "google/api/httpbody.proto";
option go_package = "peridot.resf.org/peridot/yumrepofs/pb;yumrepofspb";
service YumrepofsService {
rpc GetRpm(GetRpmRequest) returns (GetRpmResponse) {
option (google.api.http) = {
get: "/v1/projects/{project_id=*}/repo/{repo_name=*}/{arch=*}/Packages/{parent_task_id=*}/{file_name=**}"
};
}
rpc GetBlob(GetBlobRequest) returns (google.api.HttpBody) {
option (google.api.http) = {
get: "/v1/projects/{project_id=*}/repo/{repo_name=*}/{arch=*}/repodata/{blob=*}"
};
}
rpc GetRepoMd(GetRepoMdRequest) returns (google.api.HttpBody) {
option (google.api.http) = {
get: "/v1/projects/{project_id=*}/repo/{repo_name=*}/{arch=*}/repodata/repomd.xml"
};
}
rpc GetRepoMdSignature(GetRepoMdRequest) returns (google.api.HttpBody) {
option (google.api.http) = {
get: "/v1/projects/{project_id=*}/repo/{repo_name=*}/{arch=*}/repodata/repomd.xml.asc"
};
}
rpc GetPublicUrl(GetPublicUrlRequest) returns (GetPublicUrlResponse) {
option (google.api.http) = {
get: "/v1/public_url"
};
}
rpc GetPublicKey(GetPublicKeyRequest) returns (google.api.HttpBody) {
option (google.api.http) = {
get: "/v1/projects/{project_id=*}/repo/{repo_name=*}/{arch=*}/RPM-GPG-KEY"
};
}
rpc GetUrlMappings(GetUrlMappingsRequest) returns (GetUrlMappingsResponse) {
option (google.api.http) = {
get: "/v1/projects/{project_id=*}/repo/{repo_name=*}/{arch=*}/url_mappings"
};
}
}
message GetRpmRequest {
string project_id = 1;
string repo_name = 2;
string arch = 3;
string parent_task_id = 4;
string file_name = 5;
}
message GetRpmResponse {
string redirect_url = 1;
}
message GetRepoMdRequest {
string project_id = 1;
string repo_name = 2;
string arch = 3;
}
message GetBlobRequest {
string project_id = 1;
string repo_name = 2;
string arch = 3;
string blob = 4;
}
message GetPublicUrlRequest {}
message GetPublicUrlResponse {
string public_url = 1;
}
message RepositoryChange {
// Name of the repository
string name = 1;
// Added packages
repeated string added_packages = 2;
// Modified packages
repeated string modified_packages = 3;
// Removed packages
repeated string removed_packages = 4;
// Added modules
repeated string added_modules = 5;
// Modified modules
repeated string modified_modules = 6;
// Removed modules
repeated string removed_modules = 7;
}
message UpdateRepoTask {
// List of repo changes
repeated RepositoryChange changes = 1;
}
message GetPublicKeyRequest {
string project_id = 1;
string repo_name = 2;
string arch = 3;
}
message GetUrlMappingsRequest {
string project_id = 1;
string repo_name = 2;
string arch = 3;
}
message GetUrlMappingsResponse {
map<string, string> url_mappings = 1;
}