173 lines
4.0 KiB
Protocol Buffer
173 lines
4.0 KiB
Protocol Buffer
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
syntax = "proto3";
|
|
|
|
package testing.attribute.v1;
|
|
|
|
import "controller/custom_options/v1/options.proto";
|
|
import "google/api/annotations.proto";
|
|
import "google/protobuf/field_mask.proto";
|
|
import "google/protobuf/struct.proto";
|
|
import "protoc-gen-openapiv2/options/annotations.proto";
|
|
|
|
option go_package = "github.com/hashicorp/boundary/internal/gen/testing/attribute;attribute";
|
|
option (controller.custom_options.v1.domain) = "test";
|
|
|
|
message TestResource {
|
|
string id = 1;
|
|
string type = 2;
|
|
|
|
string other_id = 3 [(controller.custom_options.v1.subtype_source_id) = true];
|
|
|
|
oneof attrs {
|
|
google.protobuf.Struct attributes = 10 [(controller.custom_options.v1.subtype) = "default"];
|
|
TestSubResourceAttributes sub_resource_attributes = 20 [(controller.custom_options.v1.subtype) = "sub_resource"];
|
|
}
|
|
}
|
|
|
|
message TestSubResourceAttributes {
|
|
string name = 1;
|
|
}
|
|
|
|
message TestNoAttributes {
|
|
string id = 1;
|
|
string type = 2;
|
|
}
|
|
|
|
message TestNoOneOf {
|
|
string id = 1;
|
|
string type = 2;
|
|
|
|
google.protobuf.Struct attributes = 10;
|
|
}
|
|
|
|
message TestCustomTransformation {
|
|
string some_random_id = 1;
|
|
string secondary_id = 2;
|
|
|
|
oneof attrs {
|
|
google.protobuf.Struct attributes = 10;
|
|
TestSubResourceAttributes sub_resource_attributes = 20;
|
|
}
|
|
}
|
|
|
|
service TestResourceService {
|
|
rpc TestListResource(TestListResourceRequest) returns (TestListResourceResponse) {
|
|
option (google.api.http) = {get: "/v1/test-resources"};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Test list"};
|
|
}
|
|
|
|
rpc TestCreateResource(TestCreateResourceRequest) returns (TestCreateResourceResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1/test-resources"
|
|
body: "item"
|
|
response_body: "item"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Test create"};
|
|
}
|
|
|
|
rpc TestUpdateResource(TestUpdateResourceRequest) returns (TestUpdateResourceResponse) {
|
|
option (google.api.http) = {
|
|
patch: "/v1/test-resources/{id}"
|
|
body: "item"
|
|
response_body: "item"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Test update"};
|
|
}
|
|
|
|
rpc TestGetResource(TestGetResourceRequest) returns (TestGetResourceResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/test-resources/{id}"
|
|
response_body: "item"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Test get"};
|
|
}
|
|
}
|
|
|
|
message TestListResourceRequest {}
|
|
|
|
message TestListResourceResponse {
|
|
repeated TestResource items = 1;
|
|
}
|
|
|
|
message TestGetResourceRequest {
|
|
string id = 1;
|
|
}
|
|
|
|
message TestGetResourceResponse {
|
|
TestResource item = 1;
|
|
}
|
|
|
|
message TestCreateResourceRequest {
|
|
TestResource item = 2;
|
|
}
|
|
|
|
message TestCreateResourceResponse {
|
|
TestResource item = 1;
|
|
}
|
|
|
|
message TestUpdateResourceRequest {
|
|
string id = 1;
|
|
TestResource item = 2;
|
|
google.protobuf.FieldMask update_mask = 3 [json_name = "update_mask"];
|
|
}
|
|
|
|
message TestUpdateResourceResponse {
|
|
TestResource item = 1;
|
|
}
|
|
|
|
message TestRequestNoItem {
|
|
string name = 1;
|
|
}
|
|
|
|
message TestRequestItemNotMessage {
|
|
string item = 1;
|
|
}
|
|
|
|
message TestItemNoType {
|
|
string id = 1;
|
|
}
|
|
|
|
message TestRequestItemNoType {
|
|
TestItemNoType item = 1;
|
|
}
|
|
|
|
message TestNoItemAttributes {
|
|
string id = 1;
|
|
|
|
oneof attrs {
|
|
google.protobuf.Struct attributes = 10 [(controller.custom_options.v1.subtype) = "default"];
|
|
TestSubResourceAttributes sub_resource_attributes = 20 [(controller.custom_options.v1.subtype) = "sub_resource"];
|
|
}
|
|
}
|
|
|
|
message TestCreateNoOneOfRequest {
|
|
TestNoOneOf item = 1;
|
|
}
|
|
|
|
message TestUpdateNoOneOfRequest {
|
|
string id = 1;
|
|
TestNoOneOf item = 2;
|
|
}
|
|
|
|
message TestResponseNoItem {
|
|
string name = 1;
|
|
}
|
|
|
|
message TestResponseItemNotMessage {
|
|
string item = 1;
|
|
}
|
|
|
|
message TestResponseItemNoType {
|
|
TestItemNoType item = 1;
|
|
}
|
|
|
|
message TestCreateNoOneOfResponse {
|
|
TestNoOneOf item = 1;
|
|
}
|
|
|
|
message TestUpdateNoOneOfResponse {
|
|
TestNoOneOf item = 1;
|
|
}
|