* 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
126 lines
4.8 KiB
Protocol Buffer
126 lines
4.8 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 "google/protobuf/field_mask.proto";
|
|
import "controller/api/resources/credentiallibraries/v1/credential_library.proto";
|
|
|
|
service CredentialLibraryService {
|
|
// GetCredentialLibrary returns a stored Credential Library if present. The provided request
|
|
// must include the Credential Store id. If missing, malformed or referencing a
|
|
// non existing resource an error is returned.
|
|
rpc GetCredentialLibrary(GetCredentialLibraryRequest) returns (GetCredentialLibraryResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/credential-libraries/{id}"
|
|
response_body: "item"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
summary: "Gets a single Credential Library."
|
|
};
|
|
}
|
|
|
|
// ListCredentialLibraries returns a list of stored Credential Libraries which are in the
|
|
// provided scope. The request must include the Credential Store id and if missing,
|
|
// malformed, or referencing a non existing scope, an error is returned.
|
|
rpc ListCredentialLibraries(ListCredentialLibrariesRequest) returns (ListCredentialLibrariesResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/credential-libraries"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
summary: "Lists all Credential Library."
|
|
};
|
|
}
|
|
|
|
// CreateCredentialLibrary creates and stores an Credential Library in boundary. The
|
|
// provided request must include the scope in which the Credential Library will be
|
|
// created. If the scope id is missing, malformed or referencing a
|
|
// non existing resource an error is returned. If a name is provided that is
|
|
// in use in another Credential Library in the same scope, an error is returned.
|
|
rpc CreateCredentialLibrary(CreateCredentialLibraryRequest) returns (CreateCredentialLibraryResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1/credential-libraries"
|
|
body: "item"
|
|
response_body: "item"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
summary: "Creates a single Credential Library."
|
|
};
|
|
}
|
|
|
|
// UpdateCredentialLibrary updates an existing Credential Library in boundary. The provided
|
|
// Credential Library must not have any read only fields set. The update mask must be
|
|
// included in the request and contain at least 1 mutable field. To unset
|
|
// a field's value, include the field in the update mask and don't set it
|
|
// in the provided user. An error is returned if the Credential Library id is missing
|
|
// or reference a non existing resource. An error is also returned if the
|
|
// request attempts to update the name to one that is already in use by
|
|
// another Credential Library in the parent scope.
|
|
rpc UpdateCredentialLibrary(UpdateCredentialLibraryRequest) returns (UpdateCredentialLibraryResponse) {
|
|
option (google.api.http) = {
|
|
patch: "/v1/credential-libraries/{id}"
|
|
body: "item"
|
|
response_body: "item"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
summary: "Updates a Credential Library."
|
|
};
|
|
}
|
|
|
|
// DeleteCredentialLibrary removes an Credential Library from Boundary. If the Credential Library id
|
|
// is malformed or not provided an error is returned.
|
|
rpc DeleteCredentialLibrary(DeleteCredentialLibraryRequest) returns (DeleteCredentialLibraryResponse) {
|
|
option (google.api.http) = {
|
|
delete: "/v1/credential-libraries/{id}"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
summary: "Deletes a Credential Library"
|
|
};
|
|
}
|
|
}
|
|
|
|
message GetCredentialLibraryRequest {
|
|
string id = 1;
|
|
}
|
|
|
|
message GetCredentialLibraryResponse {
|
|
resources.credentiallibraries.v1.CredentialLibrary item = 1;
|
|
}
|
|
|
|
message ListCredentialLibrariesRequest {
|
|
string credential_store_id = 1 [json_name = "scope_id"];
|
|
string filter = 30 [json_name = "filter"];
|
|
}
|
|
|
|
message ListCredentialLibrariesResponse {
|
|
repeated resources.credentiallibraries.v1.CredentialLibrary items = 1;
|
|
}
|
|
|
|
message CreateCredentialLibraryRequest {
|
|
resources.credentiallibraries.v1.CredentialLibrary item = 1;
|
|
}
|
|
|
|
message CreateCredentialLibraryResponse {
|
|
string uri = 1;
|
|
resources.credentiallibraries.v1.CredentialLibrary item = 2;
|
|
}
|
|
|
|
message UpdateCredentialLibraryRequest {
|
|
string id = 1;
|
|
resources.credentiallibraries.v1.CredentialLibrary item = 2;
|
|
google.protobuf.FieldMask update_mask = 3 [json_name = "update_mask"];
|
|
}
|
|
|
|
message UpdateCredentialLibraryResponse {
|
|
resources.credentiallibraries.v1.CredentialLibrary item = 1;
|
|
}
|
|
|
|
message DeleteCredentialLibraryRequest {
|
|
string id = 1;
|
|
}
|
|
|
|
message DeleteCredentialLibraryResponse {}
|