* Install buf with go install This reduces the impact of using buf on our dependency closure, which was significant. It also avoids potential issues with building buf given our own internal dependency constraints. This has caused issues (including crashes!) in the past. See https://github.com/cockroachdb/cockroach/issues/67216#issuecomment-874176186 for more discussion on using tool dependencies generally, and https://github.com/bufbuild/buf/issues/52 for an example of where this sort of thing caused an issue for a user. * Upgrade buf version We should migrate to v1 sooner rather than later, as it has some breaking changes from v0. * Change buf lint/breaking commands These commands were moved up one level for v1 * Migrate to buf.yaml to v1 * Remove unused imports These were uncovered by using "buf lint". * Use buf v1.3.1 * Depend on googleapis and grpc-gateway via BSR * Switch to buf for proto generation * Remove third party dependency * Remove unused tools and scripts * Move local protos up one level * Temporarily don't fail on breaking changes * Generate CI config * Fix generation of controller.json * Replace use of deprecated flag * Remove unused import, regenerate files * Remove temporary skipping over breaking check
80 lines
2.3 KiB
Protocol Buffer
80 lines
2.3 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package controller.api.services.v1;
|
|
|
|
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
|
|
|
|
import "protoc-gen-openapiv2/options/annotations.proto";
|
|
import "google/api/annotations.proto";
|
|
import "controller/api/resources/sessions/v1/session.proto";
|
|
|
|
service SessionService {
|
|
// GetSession returns a stored Session if present. The provided request
|
|
// must include the Session ID for the Session being retrieved. If
|
|
// any that ID is missing, malformed or reference a non existing
|
|
// resource an error is returned.
|
|
rpc GetSession(GetSessionRequest) returns (GetSessionResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/sessions/{id}"
|
|
response_body: "item"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
summary: "Gets a single Session."
|
|
};
|
|
}
|
|
|
|
// ListSessions returns a list of stored Sessions which exist inside the scope
|
|
// referenced inside the request. The request must include the scope ID for
|
|
// the Sessions being retrieved. If the scope ID is missing, malformed, or
|
|
// reference a non existing scope, an error is returned.
|
|
rpc ListSessions(ListSessionsRequest) returns (ListSessionsResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/sessions"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
summary: "Lists all Sessions."
|
|
};
|
|
}
|
|
|
|
// CancelSession cancels an existing Session in boundary. An error
|
|
// is returned if the request attempts to cancel a Session that does
|
|
// not exist.
|
|
rpc CancelSession(CancelSessionRequest) returns (CancelSessionResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1/sessions/{id}:cancel"
|
|
body: "*"
|
|
response_body: "item"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
summary: "Cancels a Session."
|
|
};
|
|
}
|
|
}
|
|
|
|
message GetSessionRequest {
|
|
string id = 1;
|
|
}
|
|
|
|
message GetSessionResponse {
|
|
resources.sessions.v1.Session item = 1;
|
|
}
|
|
|
|
message ListSessionsRequest {
|
|
string scope_id = 1;
|
|
bool recursive = 20 [json_name="recursive"];
|
|
string filter = 30 [json_name="filter"];
|
|
}
|
|
|
|
message ListSessionsResponse {
|
|
repeated resources.sessions.v1.Session items = 1;
|
|
}
|
|
|
|
message CancelSessionRequest {
|
|
string id = 1;
|
|
uint32 version = 2;
|
|
}
|
|
|
|
message CancelSessionResponse {
|
|
resources.sessions.v1.Session item = 1;
|
|
}
|