Files
paralus/proto/rpc/system/project.proto
nirav-rafay c66bdc25cd restructure rcloud-base as a single base controller (#37)
* restructure rcloud-base as a single base controller
* updated master.rest
* moved sentry from internal to pkg as it is used by relay
* removing unused rpc and it's dependencies
* Fix usermgmt tests
* Don't redefine variables in rest file
Co-authored-by: Abin Simon <abin.simon@rafay.co>
2022-03-03 17:59:06 +05:30

114 lines
3.2 KiB
Protocol Buffer

syntax = "proto3";
package rafay.dev.rpc.v3;
import "google/api/annotations.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
import "proto/types/systempb/v3/project.proto";
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = {
info : {
title : "Project Service"
version : "3.0"
contact : {name : "Rafay Dev"}
}
schemes : HTTPS
consumes : "application/json"
consumes : "application/yaml"
produces : "application/json"
produces : "application/yaml"
security_definitions : {
security : {
key : "BasicAuth"
value : {type : TYPE_BASIC}
}
security : {
key : "ApiKeyAuth"
value : {type : TYPE_API_KEY in : IN_HEADER name : "X-RAFAY-API-KEYID"}
}
}
security : {
security_requirement : {
key : "BasicAuth"
value : {}
}
security_requirement : {
key : "ApiKeyAuth"
value : {}
}
}
responses : {
key : "403"
value : {
description : "Returned when the user does not have permission to access "
"the resource."
}
}
responses : {
key : "404"
value : {
description : "Returned when the resource does not exist."
schema : {json_schema : {type : STRING}}
}
}
};
service Project {
rpc CreateProject(rafay.dev.types.system.v3.Project)
returns (rafay.dev.types.system.v3.Project) {
option (google.api.http) = {
post : "/auth/v3/partner/{metadata.partner}/organization/{metadata.organization}/project"
body : "*"
};
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
responses : {
key : "201"
value : {
description : "Returned when project is created successfully."
}
}
};
};
rpc GetProjects(rafay.dev.types.system.v3.Project)
returns (rafay.dev.types.system.v3.ProjectList) {
option (google.api.http) = {
get : "/auth/v3/partner/{metadata.partner}/organization/{metadata.organization}/projects"
};
};
rpc GetProject(rafay.dev.types.system.v3.Project)
returns (rafay.dev.types.system.v3.Project) {
option (google.api.http) = {
get : "/auth/v3/partner/{metadata.partner}/organization/{metadata.organization}/project/"
"{metadata.name}"
};
};
rpc UpdateProject(rafay.dev.types.system.v3.Project)
returns (rafay.dev.types.system.v3.Project) {
option (google.api.http) = {
put : "/auth/v3/partner/{metadata.partner}/organization/{metadata.organization}/project/"
"{metadata.name}"
body : "*"
};
};
rpc DeleteProject(rafay.dev.types.system.v3.Project)
returns (rafay.dev.types.system.v3.Project) {
option (google.api.http) = {
delete : "/auth/v3/partner/{metadata.partner}/organization/{metadata.organization}/project/"
"{metadata.name}"
};
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
responses : {
key : "204"
value : {
description : "Returned when project is deleted successfully."
}
}
};
};
}