Files
threshold/internal/gen/testing/attribute/attribute.pb.go
T
Timothy Messier 198a39ef1e feat(subtypes): Add grpc interceptor for transforming attributes
This interceptor is responsible for maintaining compatability with the
JSON API with the change to the protobuf messages. The messages are
changing from a single attribue field to a oneof to explicitly associate
subtype attribute messages with the resource message. The interceptor
transforms the request prior to the auditReqeust interceptor, and
transforms the response after the auditResponse interceptor. This allows
the audit interceptors to use all the necessary classification
information when creating the audit events.
2022-04-20 13:32:31 -04:00

1895 lines
68 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.27.1
// protoc v3.17.3
// source: testing/attribute/v1/attribute.proto
package attribute
import (
_ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options"
_ "github.com/hashicorp/boundary/sdk/pbs/controller/protooptions"
_ "google.golang.org/genproto/googleapis/api/annotations"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
structpb "google.golang.org/protobuf/types/known/structpb"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type TestResource struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
OtherId string `protobuf:"bytes,3,opt,name=other_id,json=otherId,proto3" json:"other_id,omitempty"`
// Types that are assignable to Attrs:
// *TestResource_Attributes
// *TestResource_SubResourceAttributes
Attrs isTestResource_Attrs `protobuf_oneof:"attrs"`
}
func (x *TestResource) Reset() {
*x = TestResource{}
if protoimpl.UnsafeEnabled {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TestResource) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestResource) ProtoMessage() {}
func (x *TestResource) ProtoReflect() protoreflect.Message {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestResource.ProtoReflect.Descriptor instead.
func (*TestResource) Descriptor() ([]byte, []int) {
return file_testing_attribute_v1_attribute_proto_rawDescGZIP(), []int{0}
}
func (x *TestResource) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *TestResource) GetType() string {
if x != nil {
return x.Type
}
return ""
}
func (x *TestResource) GetOtherId() string {
if x != nil {
return x.OtherId
}
return ""
}
func (m *TestResource) GetAttrs() isTestResource_Attrs {
if m != nil {
return m.Attrs
}
return nil
}
func (x *TestResource) GetAttributes() *structpb.Struct {
if x, ok := x.GetAttrs().(*TestResource_Attributes); ok {
return x.Attributes
}
return nil
}
func (x *TestResource) GetSubResourceAttributes() *TestSubResourceAttributes {
if x, ok := x.GetAttrs().(*TestResource_SubResourceAttributes); ok {
return x.SubResourceAttributes
}
return nil
}
type isTestResource_Attrs interface {
isTestResource_Attrs()
}
type TestResource_Attributes struct {
Attributes *structpb.Struct `protobuf:"bytes,10,opt,name=attributes,proto3,oneof"`
}
type TestResource_SubResourceAttributes struct {
SubResourceAttributes *TestSubResourceAttributes `protobuf:"bytes,20,opt,name=sub_resource_attributes,json=subResourceAttributes,proto3,oneof"`
}
func (*TestResource_Attributes) isTestResource_Attrs() {}
func (*TestResource_SubResourceAttributes) isTestResource_Attrs() {}
type TestSubResourceAttributes struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *TestSubResourceAttributes) Reset() {
*x = TestSubResourceAttributes{}
if protoimpl.UnsafeEnabled {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TestSubResourceAttributes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestSubResourceAttributes) ProtoMessage() {}
func (x *TestSubResourceAttributes) ProtoReflect() protoreflect.Message {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestSubResourceAttributes.ProtoReflect.Descriptor instead.
func (*TestSubResourceAttributes) Descriptor() ([]byte, []int) {
return file_testing_attribute_v1_attribute_proto_rawDescGZIP(), []int{1}
}
func (x *TestSubResourceAttributes) GetName() string {
if x != nil {
return x.Name
}
return ""
}
type TestNoAttributes struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
}
func (x *TestNoAttributes) Reset() {
*x = TestNoAttributes{}
if protoimpl.UnsafeEnabled {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TestNoAttributes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestNoAttributes) ProtoMessage() {}
func (x *TestNoAttributes) ProtoReflect() protoreflect.Message {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestNoAttributes.ProtoReflect.Descriptor instead.
func (*TestNoAttributes) Descriptor() ([]byte, []int) {
return file_testing_attribute_v1_attribute_proto_rawDescGZIP(), []int{2}
}
func (x *TestNoAttributes) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *TestNoAttributes) GetType() string {
if x != nil {
return x.Type
}
return ""
}
type TestNoOneOf struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
Attributes *structpb.Struct `protobuf:"bytes,10,opt,name=attributes,proto3" json:"attributes,omitempty"`
}
func (x *TestNoOneOf) Reset() {
*x = TestNoOneOf{}
if protoimpl.UnsafeEnabled {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TestNoOneOf) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestNoOneOf) ProtoMessage() {}
func (x *TestNoOneOf) ProtoReflect() protoreflect.Message {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestNoOneOf.ProtoReflect.Descriptor instead.
func (*TestNoOneOf) Descriptor() ([]byte, []int) {
return file_testing_attribute_v1_attribute_proto_rawDescGZIP(), []int{3}
}
func (x *TestNoOneOf) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *TestNoOneOf) GetType() string {
if x != nil {
return x.Type
}
return ""
}
func (x *TestNoOneOf) GetAttributes() *structpb.Struct {
if x != nil {
return x.Attributes
}
return nil
}
type TestListResourceRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *TestListResourceRequest) Reset() {
*x = TestListResourceRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TestListResourceRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestListResourceRequest) ProtoMessage() {}
func (x *TestListResourceRequest) ProtoReflect() protoreflect.Message {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestListResourceRequest.ProtoReflect.Descriptor instead.
func (*TestListResourceRequest) Descriptor() ([]byte, []int) {
return file_testing_attribute_v1_attribute_proto_rawDescGZIP(), []int{4}
}
type TestListResourceResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Items []*TestResource `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
}
func (x *TestListResourceResponse) Reset() {
*x = TestListResourceResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TestListResourceResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestListResourceResponse) ProtoMessage() {}
func (x *TestListResourceResponse) ProtoReflect() protoreflect.Message {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestListResourceResponse.ProtoReflect.Descriptor instead.
func (*TestListResourceResponse) Descriptor() ([]byte, []int) {
return file_testing_attribute_v1_attribute_proto_rawDescGZIP(), []int{5}
}
func (x *TestListResourceResponse) GetItems() []*TestResource {
if x != nil {
return x.Items
}
return nil
}
type TestGetResourceRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}
func (x *TestGetResourceRequest) Reset() {
*x = TestGetResourceRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TestGetResourceRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestGetResourceRequest) ProtoMessage() {}
func (x *TestGetResourceRequest) ProtoReflect() protoreflect.Message {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestGetResourceRequest.ProtoReflect.Descriptor instead.
func (*TestGetResourceRequest) Descriptor() ([]byte, []int) {
return file_testing_attribute_v1_attribute_proto_rawDescGZIP(), []int{6}
}
func (x *TestGetResourceRequest) GetId() string {
if x != nil {
return x.Id
}
return ""
}
type TestGetResourceResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Item *TestResource `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
}
func (x *TestGetResourceResponse) Reset() {
*x = TestGetResourceResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TestGetResourceResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestGetResourceResponse) ProtoMessage() {}
func (x *TestGetResourceResponse) ProtoReflect() protoreflect.Message {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestGetResourceResponse.ProtoReflect.Descriptor instead.
func (*TestGetResourceResponse) Descriptor() ([]byte, []int) {
return file_testing_attribute_v1_attribute_proto_rawDescGZIP(), []int{7}
}
func (x *TestGetResourceResponse) GetItem() *TestResource {
if x != nil {
return x.Item
}
return nil
}
type TestCreateResourceRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Item *TestResource `protobuf:"bytes,2,opt,name=item,proto3" json:"item,omitempty"`
}
func (x *TestCreateResourceRequest) Reset() {
*x = TestCreateResourceRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TestCreateResourceRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestCreateResourceRequest) ProtoMessage() {}
func (x *TestCreateResourceRequest) ProtoReflect() protoreflect.Message {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestCreateResourceRequest.ProtoReflect.Descriptor instead.
func (*TestCreateResourceRequest) Descriptor() ([]byte, []int) {
return file_testing_attribute_v1_attribute_proto_rawDescGZIP(), []int{8}
}
func (x *TestCreateResourceRequest) GetItem() *TestResource {
if x != nil {
return x.Item
}
return nil
}
type TestCreateResourceResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Item *TestResource `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
}
func (x *TestCreateResourceResponse) Reset() {
*x = TestCreateResourceResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TestCreateResourceResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestCreateResourceResponse) ProtoMessage() {}
func (x *TestCreateResourceResponse) ProtoReflect() protoreflect.Message {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestCreateResourceResponse.ProtoReflect.Descriptor instead.
func (*TestCreateResourceResponse) Descriptor() ([]byte, []int) {
return file_testing_attribute_v1_attribute_proto_rawDescGZIP(), []int{9}
}
func (x *TestCreateResourceResponse) GetItem() *TestResource {
if x != nil {
return x.Item
}
return nil
}
type TestUpdateResourceRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Item *TestResource `protobuf:"bytes,2,opt,name=item,proto3" json:"item,omitempty"`
UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=update_mask,proto3" json:"update_mask,omitempty"`
}
func (x *TestUpdateResourceRequest) Reset() {
*x = TestUpdateResourceRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TestUpdateResourceRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestUpdateResourceRequest) ProtoMessage() {}
func (x *TestUpdateResourceRequest) ProtoReflect() protoreflect.Message {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestUpdateResourceRequest.ProtoReflect.Descriptor instead.
func (*TestUpdateResourceRequest) Descriptor() ([]byte, []int) {
return file_testing_attribute_v1_attribute_proto_rawDescGZIP(), []int{10}
}
func (x *TestUpdateResourceRequest) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *TestUpdateResourceRequest) GetItem() *TestResource {
if x != nil {
return x.Item
}
return nil
}
func (x *TestUpdateResourceRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
if x != nil {
return x.UpdateMask
}
return nil
}
type TestUpdateResourceResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Item *TestResource `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
}
func (x *TestUpdateResourceResponse) Reset() {
*x = TestUpdateResourceResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TestUpdateResourceResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestUpdateResourceResponse) ProtoMessage() {}
func (x *TestUpdateResourceResponse) ProtoReflect() protoreflect.Message {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestUpdateResourceResponse.ProtoReflect.Descriptor instead.
func (*TestUpdateResourceResponse) Descriptor() ([]byte, []int) {
return file_testing_attribute_v1_attribute_proto_rawDescGZIP(), []int{11}
}
func (x *TestUpdateResourceResponse) GetItem() *TestResource {
if x != nil {
return x.Item
}
return nil
}
type TestRequestNoItem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *TestRequestNoItem) Reset() {
*x = TestRequestNoItem{}
if protoimpl.UnsafeEnabled {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TestRequestNoItem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestRequestNoItem) ProtoMessage() {}
func (x *TestRequestNoItem) ProtoReflect() protoreflect.Message {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestRequestNoItem.ProtoReflect.Descriptor instead.
func (*TestRequestNoItem) Descriptor() ([]byte, []int) {
return file_testing_attribute_v1_attribute_proto_rawDescGZIP(), []int{12}
}
func (x *TestRequestNoItem) GetName() string {
if x != nil {
return x.Name
}
return ""
}
type TestRequestItemNotMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Item string `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
}
func (x *TestRequestItemNotMessage) Reset() {
*x = TestRequestItemNotMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TestRequestItemNotMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestRequestItemNotMessage) ProtoMessage() {}
func (x *TestRequestItemNotMessage) ProtoReflect() protoreflect.Message {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestRequestItemNotMessage.ProtoReflect.Descriptor instead.
func (*TestRequestItemNotMessage) Descriptor() ([]byte, []int) {
return file_testing_attribute_v1_attribute_proto_rawDescGZIP(), []int{13}
}
func (x *TestRequestItemNotMessage) GetItem() string {
if x != nil {
return x.Item
}
return ""
}
type TestItemNoType struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}
func (x *TestItemNoType) Reset() {
*x = TestItemNoType{}
if protoimpl.UnsafeEnabled {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TestItemNoType) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestItemNoType) ProtoMessage() {}
func (x *TestItemNoType) ProtoReflect() protoreflect.Message {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestItemNoType.ProtoReflect.Descriptor instead.
func (*TestItemNoType) Descriptor() ([]byte, []int) {
return file_testing_attribute_v1_attribute_proto_rawDescGZIP(), []int{14}
}
func (x *TestItemNoType) GetId() string {
if x != nil {
return x.Id
}
return ""
}
type TestRequestItemNoType struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Item *TestItemNoType `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
}
func (x *TestRequestItemNoType) Reset() {
*x = TestRequestItemNoType{}
if protoimpl.UnsafeEnabled {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TestRequestItemNoType) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestRequestItemNoType) ProtoMessage() {}
func (x *TestRequestItemNoType) ProtoReflect() protoreflect.Message {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestRequestItemNoType.ProtoReflect.Descriptor instead.
func (*TestRequestItemNoType) Descriptor() ([]byte, []int) {
return file_testing_attribute_v1_attribute_proto_rawDescGZIP(), []int{15}
}
func (x *TestRequestItemNoType) GetItem() *TestItemNoType {
if x != nil {
return x.Item
}
return nil
}
type TestNoItemAttributes struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// Types that are assignable to Attrs:
// *TestNoItemAttributes_Attributes
// *TestNoItemAttributes_SubResourceAttributes
Attrs isTestNoItemAttributes_Attrs `protobuf_oneof:"attrs"`
}
func (x *TestNoItemAttributes) Reset() {
*x = TestNoItemAttributes{}
if protoimpl.UnsafeEnabled {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TestNoItemAttributes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestNoItemAttributes) ProtoMessage() {}
func (x *TestNoItemAttributes) ProtoReflect() protoreflect.Message {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestNoItemAttributes.ProtoReflect.Descriptor instead.
func (*TestNoItemAttributes) Descriptor() ([]byte, []int) {
return file_testing_attribute_v1_attribute_proto_rawDescGZIP(), []int{16}
}
func (x *TestNoItemAttributes) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (m *TestNoItemAttributes) GetAttrs() isTestNoItemAttributes_Attrs {
if m != nil {
return m.Attrs
}
return nil
}
func (x *TestNoItemAttributes) GetAttributes() *structpb.Struct {
if x, ok := x.GetAttrs().(*TestNoItemAttributes_Attributes); ok {
return x.Attributes
}
return nil
}
func (x *TestNoItemAttributes) GetSubResourceAttributes() *TestSubResourceAttributes {
if x, ok := x.GetAttrs().(*TestNoItemAttributes_SubResourceAttributes); ok {
return x.SubResourceAttributes
}
return nil
}
type isTestNoItemAttributes_Attrs interface {
isTestNoItemAttributes_Attrs()
}
type TestNoItemAttributes_Attributes struct {
Attributes *structpb.Struct `protobuf:"bytes,10,opt,name=attributes,proto3,oneof"`
}
type TestNoItemAttributes_SubResourceAttributes struct {
SubResourceAttributes *TestSubResourceAttributes `protobuf:"bytes,20,opt,name=sub_resource_attributes,json=subResourceAttributes,proto3,oneof"`
}
func (*TestNoItemAttributes_Attributes) isTestNoItemAttributes_Attrs() {}
func (*TestNoItemAttributes_SubResourceAttributes) isTestNoItemAttributes_Attrs() {}
type TestCreateNoOneOfRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Item *TestNoOneOf `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
}
func (x *TestCreateNoOneOfRequest) Reset() {
*x = TestCreateNoOneOfRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TestCreateNoOneOfRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestCreateNoOneOfRequest) ProtoMessage() {}
func (x *TestCreateNoOneOfRequest) ProtoReflect() protoreflect.Message {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestCreateNoOneOfRequest.ProtoReflect.Descriptor instead.
func (*TestCreateNoOneOfRequest) Descriptor() ([]byte, []int) {
return file_testing_attribute_v1_attribute_proto_rawDescGZIP(), []int{17}
}
func (x *TestCreateNoOneOfRequest) GetItem() *TestNoOneOf {
if x != nil {
return x.Item
}
return nil
}
type TestUpdateNoOneOfRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Item *TestNoOneOf `protobuf:"bytes,2,opt,name=item,proto3" json:"item,omitempty"`
}
func (x *TestUpdateNoOneOfRequest) Reset() {
*x = TestUpdateNoOneOfRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TestUpdateNoOneOfRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestUpdateNoOneOfRequest) ProtoMessage() {}
func (x *TestUpdateNoOneOfRequest) ProtoReflect() protoreflect.Message {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestUpdateNoOneOfRequest.ProtoReflect.Descriptor instead.
func (*TestUpdateNoOneOfRequest) Descriptor() ([]byte, []int) {
return file_testing_attribute_v1_attribute_proto_rawDescGZIP(), []int{18}
}
func (x *TestUpdateNoOneOfRequest) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *TestUpdateNoOneOfRequest) GetItem() *TestNoOneOf {
if x != nil {
return x.Item
}
return nil
}
type TestResponseNoItem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *TestResponseNoItem) Reset() {
*x = TestResponseNoItem{}
if protoimpl.UnsafeEnabled {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TestResponseNoItem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestResponseNoItem) ProtoMessage() {}
func (x *TestResponseNoItem) ProtoReflect() protoreflect.Message {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestResponseNoItem.ProtoReflect.Descriptor instead.
func (*TestResponseNoItem) Descriptor() ([]byte, []int) {
return file_testing_attribute_v1_attribute_proto_rawDescGZIP(), []int{19}
}
func (x *TestResponseNoItem) GetName() string {
if x != nil {
return x.Name
}
return ""
}
type TestResponseItemNotMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Item string `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
}
func (x *TestResponseItemNotMessage) Reset() {
*x = TestResponseItemNotMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TestResponseItemNotMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestResponseItemNotMessage) ProtoMessage() {}
func (x *TestResponseItemNotMessage) ProtoReflect() protoreflect.Message {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestResponseItemNotMessage.ProtoReflect.Descriptor instead.
func (*TestResponseItemNotMessage) Descriptor() ([]byte, []int) {
return file_testing_attribute_v1_attribute_proto_rawDescGZIP(), []int{20}
}
func (x *TestResponseItemNotMessage) GetItem() string {
if x != nil {
return x.Item
}
return ""
}
type TestResponseItemNoType struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Item *TestItemNoType `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
}
func (x *TestResponseItemNoType) Reset() {
*x = TestResponseItemNoType{}
if protoimpl.UnsafeEnabled {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TestResponseItemNoType) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestResponseItemNoType) ProtoMessage() {}
func (x *TestResponseItemNoType) ProtoReflect() protoreflect.Message {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestResponseItemNoType.ProtoReflect.Descriptor instead.
func (*TestResponseItemNoType) Descriptor() ([]byte, []int) {
return file_testing_attribute_v1_attribute_proto_rawDescGZIP(), []int{21}
}
func (x *TestResponseItemNoType) GetItem() *TestItemNoType {
if x != nil {
return x.Item
}
return nil
}
type TestCreateNoOneOfResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Item *TestNoOneOf `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
}
func (x *TestCreateNoOneOfResponse) Reset() {
*x = TestCreateNoOneOfResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TestCreateNoOneOfResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestCreateNoOneOfResponse) ProtoMessage() {}
func (x *TestCreateNoOneOfResponse) ProtoReflect() protoreflect.Message {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[22]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestCreateNoOneOfResponse.ProtoReflect.Descriptor instead.
func (*TestCreateNoOneOfResponse) Descriptor() ([]byte, []int) {
return file_testing_attribute_v1_attribute_proto_rawDescGZIP(), []int{22}
}
func (x *TestCreateNoOneOfResponse) GetItem() *TestNoOneOf {
if x != nil {
return x.Item
}
return nil
}
type TestUpdateNoOneOfResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Item *TestNoOneOf `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
}
func (x *TestUpdateNoOneOfResponse) Reset() {
*x = TestUpdateNoOneOfResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TestUpdateNoOneOfResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestUpdateNoOneOfResponse) ProtoMessage() {}
func (x *TestUpdateNoOneOfResponse) ProtoReflect() protoreflect.Message {
mi := &file_testing_attribute_v1_attribute_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestUpdateNoOneOfResponse.ProtoReflect.Descriptor instead.
func (*TestUpdateNoOneOfResponse) Descriptor() ([]byte, []int) {
return file_testing_attribute_v1_attribute_proto_rawDescGZIP(), []int{23}
}
func (x *TestUpdateNoOneOfResponse) GetItem() *TestNoOneOf {
if x != nil {
return x.Item
}
return nil
}
var File_testing_attribute_v1_attribute_proto protoreflect.FileDescriptor
var file_testing_attribute_v1_attribute_proto_rawDesc = []byte{
0x0a, 0x24, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62,
0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e,
0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69,
0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75,
0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f,
0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x63, 0x6f, 0x6e, 0x74,
0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6f, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa1, 0x02, 0x0a, 0x0c, 0x54, 0x65, 0x73, 0x74, 0x52,
0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x08, 0x6f,
0x74, 0x68, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xa0,
0xe3, 0x29, 0x01, 0x52, 0x07, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x0a,
0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x0b, 0x9a, 0xe3, 0x29, 0x07, 0x64,
0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62,
0x75, 0x74, 0x65, 0x73, 0x12, 0x7b, 0x0a, 0x17, 0x73, 0x75, 0x62, 0x5f, 0x72, 0x65, 0x73, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18,
0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e,
0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x53, 0x75, 0x62, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72,
0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x42, 0x10, 0x9a, 0xe3, 0x29, 0x0c, 0x73, 0x75, 0x62, 0x5f,
0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x15, 0x73, 0x75, 0x62, 0x52,
0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
0x73, 0x42, 0x07, 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x22, 0x2f, 0x0a, 0x19, 0x54, 0x65,
0x73, 0x74, 0x53, 0x75, 0x62, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74,
0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x36, 0x0a, 0x10, 0x54,
0x65, 0x73, 0x74, 0x4e, 0x6f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12,
0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12,
0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74,
0x79, 0x70, 0x65, 0x22, 0x6a, 0x0a, 0x0b, 0x54, 0x65, 0x73, 0x74, 0x4e, 0x6f, 0x4f, 0x6e, 0x65,
0x4f, 0x66, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62,
0x75, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72,
0x75, 0x63, 0x74, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x22,
0x19, 0x0a, 0x17, 0x54, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x54, 0x0a, 0x18, 0x54, 0x65,
0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e,
0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73,
0x22, 0x28, 0x0a, 0x16, 0x54, 0x65, 0x73, 0x74, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x51, 0x0a, 0x17, 0x54, 0x65,
0x73, 0x74, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x74,
0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52,
0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x53, 0x0a,
0x19, 0x54, 0x65, 0x73, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x04, 0x69, 0x74,
0x65, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69,
0x6e, 0x67, 0x2e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e,
0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x04, 0x69, 0x74,
0x65, 0x6d, 0x22, 0x54, 0x0a, 0x1a, 0x54, 0x65, 0x73, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x36, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,
0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
0x63, 0x65, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0xa1, 0x01, 0x0a, 0x19, 0x54, 0x65, 0x73,
0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x61,
0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74,
0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x3c,
0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52,
0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0x54, 0x0a, 0x1a,
0x54, 0x65, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x69, 0x74,
0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69,
0x6e, 0x67, 0x2e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e,
0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x04, 0x69, 0x74,
0x65, 0x6d, 0x22, 0x27, 0x0a, 0x11, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x4e, 0x6f, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x2f, 0x0a, 0x19, 0x54,
0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x6f,
0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x20, 0x0a, 0x0e,
0x54, 0x65, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e,
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x51,
0x0a, 0x15, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x74, 0x65,
0x6d, 0x4e, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e,
0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x69, 0x74, 0x65,
0x6d, 0x22, 0xf4, 0x01, 0x0a, 0x14, 0x54, 0x65, 0x73, 0x74, 0x4e, 0x6f, 0x49, 0x74, 0x65, 0x6d,
0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x46, 0x0a, 0x0a, 0x61, 0x74,
0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x0b, 0x9a, 0xe3, 0x29, 0x07, 0x64, 0x65, 0x66,
0x61, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
0x65, 0x73, 0x12, 0x7b, 0x0a, 0x17, 0x73, 0x75, 0x62, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x14, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x74,
0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x53,
0x75, 0x62, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62,
0x75, 0x74, 0x65, 0x73, 0x42, 0x10, 0x9a, 0xe3, 0x29, 0x0c, 0x73, 0x75, 0x62, 0x5f, 0x72, 0x65,
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x15, 0x73, 0x75, 0x62, 0x52, 0x65, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x42,
0x07, 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x22, 0x51, 0x0a, 0x18, 0x54, 0x65, 0x73, 0x74,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x4f, 0x6e, 0x65, 0x4f, 0x66, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x74, 0x74,
0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x4e, 0x6f,
0x4f, 0x6e, 0x65, 0x4f, 0x66, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x61, 0x0a, 0x18, 0x54,
0x65, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x4f, 0x6e, 0x65, 0x4f, 0x66,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x35, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e,
0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x4e, 0x6f, 0x4f, 0x6e, 0x65, 0x4f, 0x66, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x28,
0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4e, 0x6f,
0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x30, 0x0a, 0x1a, 0x54, 0x65, 0x73, 0x74,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x6f, 0x74, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x52, 0x0a, 0x16, 0x54, 0x65,
0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x6f,
0x54, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x74, 0x74,
0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x74,
0x65, 0x6d, 0x4e, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x52,
0x0a, 0x19, 0x54, 0x65, 0x73, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x4f, 0x6e,
0x65, 0x4f, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x69,
0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x65, 0x73, 0x74,
0x69, 0x6e, 0x67, 0x2e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31,
0x2e, 0x54, 0x65, 0x73, 0x74, 0x4e, 0x6f, 0x4f, 0x6e, 0x65, 0x4f, 0x66, 0x52, 0x04, 0x69, 0x74,
0x65, 0x6d, 0x22, 0x52, 0x0a, 0x19, 0x54, 0x65, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x4e, 0x6f, 0x4f, 0x6e, 0x65, 0x4f, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x35, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e,
0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x4e, 0x6f, 0x4f, 0x6e, 0x65, 0x4f, 0x66,
0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x32, 0xc1, 0x05, 0x0a, 0x13, 0x54, 0x65, 0x73, 0x74, 0x52,
0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x9b,
0x01, 0x0a, 0x10, 0x54, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x12, 0x2d, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x74,
0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x4c,
0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x74, 0x74,
0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x4c, 0x69,
0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x76, 0x31, 0x2f,
0x74, 0x65, 0x73, 0x74, 0x2d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x92, 0x41,
0x0b, 0x12, 0x09, 0x54, 0x65, 0x73, 0x74, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x12, 0xaf, 0x01, 0x0a,
0x12, 0x54, 0x65, 0x73, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x12, 0x2f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x74,
0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43,
0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x61,
0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x36, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x12,
0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
0x65, 0x73, 0x3a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x62, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x92, 0x41,
0x0d, 0x12, 0x0b, 0x54, 0x65, 0x73, 0x74, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0xb4,
0x01, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e,
0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67,
0x2e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25,
0x32, 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2d, 0x72, 0x65, 0x73, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x3a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x62,
0x04, 0x69, 0x74, 0x65, 0x6d, 0x92, 0x41, 0x0d, 0x12, 0x0b, 0x54, 0x65, 0x73, 0x74, 0x20, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0xa2, 0x01, 0x0a, 0x0f, 0x54, 0x65, 0x73, 0x74, 0x47, 0x65,
0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2c, 0x2e, 0x74, 0x65, 0x73, 0x74,
0x69, 0x6e, 0x67, 0x2e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31,
0x2e, 0x54, 0x65, 0x73, 0x74, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e,
0x67, 0x2e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x17,
0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x62, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x92, 0x41, 0x0a,
0x12, 0x08, 0x54, 0x65, 0x73, 0x74, 0x20, 0x67, 0x65, 0x74, 0x42, 0x50, 0x5a, 0x46, 0x67, 0x69,
0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f,
0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65,
0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67,
0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x3b, 0x61, 0x74, 0x74, 0x72, 0x69,
0x62, 0x75, 0x74, 0x65, 0xa2, 0xe3, 0x29, 0x04, 0x74, 0x65, 0x73, 0x74, 0x62, 0x06, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33,
}
var (
file_testing_attribute_v1_attribute_proto_rawDescOnce sync.Once
file_testing_attribute_v1_attribute_proto_rawDescData = file_testing_attribute_v1_attribute_proto_rawDesc
)
func file_testing_attribute_v1_attribute_proto_rawDescGZIP() []byte {
file_testing_attribute_v1_attribute_proto_rawDescOnce.Do(func() {
file_testing_attribute_v1_attribute_proto_rawDescData = protoimpl.X.CompressGZIP(file_testing_attribute_v1_attribute_proto_rawDescData)
})
return file_testing_attribute_v1_attribute_proto_rawDescData
}
var file_testing_attribute_v1_attribute_proto_msgTypes = make([]protoimpl.MessageInfo, 24)
var file_testing_attribute_v1_attribute_proto_goTypes = []interface{}{
(*TestResource)(nil), // 0: testing.attribute.v1.TestResource
(*TestSubResourceAttributes)(nil), // 1: testing.attribute.v1.TestSubResourceAttributes
(*TestNoAttributes)(nil), // 2: testing.attribute.v1.TestNoAttributes
(*TestNoOneOf)(nil), // 3: testing.attribute.v1.TestNoOneOf
(*TestListResourceRequest)(nil), // 4: testing.attribute.v1.TestListResourceRequest
(*TestListResourceResponse)(nil), // 5: testing.attribute.v1.TestListResourceResponse
(*TestGetResourceRequest)(nil), // 6: testing.attribute.v1.TestGetResourceRequest
(*TestGetResourceResponse)(nil), // 7: testing.attribute.v1.TestGetResourceResponse
(*TestCreateResourceRequest)(nil), // 8: testing.attribute.v1.TestCreateResourceRequest
(*TestCreateResourceResponse)(nil), // 9: testing.attribute.v1.TestCreateResourceResponse
(*TestUpdateResourceRequest)(nil), // 10: testing.attribute.v1.TestUpdateResourceRequest
(*TestUpdateResourceResponse)(nil), // 11: testing.attribute.v1.TestUpdateResourceResponse
(*TestRequestNoItem)(nil), // 12: testing.attribute.v1.TestRequestNoItem
(*TestRequestItemNotMessage)(nil), // 13: testing.attribute.v1.TestRequestItemNotMessage
(*TestItemNoType)(nil), // 14: testing.attribute.v1.TestItemNoType
(*TestRequestItemNoType)(nil), // 15: testing.attribute.v1.TestRequestItemNoType
(*TestNoItemAttributes)(nil), // 16: testing.attribute.v1.TestNoItemAttributes
(*TestCreateNoOneOfRequest)(nil), // 17: testing.attribute.v1.TestCreateNoOneOfRequest
(*TestUpdateNoOneOfRequest)(nil), // 18: testing.attribute.v1.TestUpdateNoOneOfRequest
(*TestResponseNoItem)(nil), // 19: testing.attribute.v1.TestResponseNoItem
(*TestResponseItemNotMessage)(nil), // 20: testing.attribute.v1.TestResponseItemNotMessage
(*TestResponseItemNoType)(nil), // 21: testing.attribute.v1.TestResponseItemNoType
(*TestCreateNoOneOfResponse)(nil), // 22: testing.attribute.v1.TestCreateNoOneOfResponse
(*TestUpdateNoOneOfResponse)(nil), // 23: testing.attribute.v1.TestUpdateNoOneOfResponse
(*structpb.Struct)(nil), // 24: google.protobuf.Struct
(*fieldmaskpb.FieldMask)(nil), // 25: google.protobuf.FieldMask
}
var file_testing_attribute_v1_attribute_proto_depIdxs = []int32{
24, // 0: testing.attribute.v1.TestResource.attributes:type_name -> google.protobuf.Struct
1, // 1: testing.attribute.v1.TestResource.sub_resource_attributes:type_name -> testing.attribute.v1.TestSubResourceAttributes
24, // 2: testing.attribute.v1.TestNoOneOf.attributes:type_name -> google.protobuf.Struct
0, // 3: testing.attribute.v1.TestListResourceResponse.items:type_name -> testing.attribute.v1.TestResource
0, // 4: testing.attribute.v1.TestGetResourceResponse.item:type_name -> testing.attribute.v1.TestResource
0, // 5: testing.attribute.v1.TestCreateResourceRequest.item:type_name -> testing.attribute.v1.TestResource
0, // 6: testing.attribute.v1.TestCreateResourceResponse.item:type_name -> testing.attribute.v1.TestResource
0, // 7: testing.attribute.v1.TestUpdateResourceRequest.item:type_name -> testing.attribute.v1.TestResource
25, // 8: testing.attribute.v1.TestUpdateResourceRequest.update_mask:type_name -> google.protobuf.FieldMask
0, // 9: testing.attribute.v1.TestUpdateResourceResponse.item:type_name -> testing.attribute.v1.TestResource
14, // 10: testing.attribute.v1.TestRequestItemNoType.item:type_name -> testing.attribute.v1.TestItemNoType
24, // 11: testing.attribute.v1.TestNoItemAttributes.attributes:type_name -> google.protobuf.Struct
1, // 12: testing.attribute.v1.TestNoItemAttributes.sub_resource_attributes:type_name -> testing.attribute.v1.TestSubResourceAttributes
3, // 13: testing.attribute.v1.TestCreateNoOneOfRequest.item:type_name -> testing.attribute.v1.TestNoOneOf
3, // 14: testing.attribute.v1.TestUpdateNoOneOfRequest.item:type_name -> testing.attribute.v1.TestNoOneOf
14, // 15: testing.attribute.v1.TestResponseItemNoType.item:type_name -> testing.attribute.v1.TestItemNoType
3, // 16: testing.attribute.v1.TestCreateNoOneOfResponse.item:type_name -> testing.attribute.v1.TestNoOneOf
3, // 17: testing.attribute.v1.TestUpdateNoOneOfResponse.item:type_name -> testing.attribute.v1.TestNoOneOf
4, // 18: testing.attribute.v1.TestResourceService.TestListResource:input_type -> testing.attribute.v1.TestListResourceRequest
8, // 19: testing.attribute.v1.TestResourceService.TestCreateResource:input_type -> testing.attribute.v1.TestCreateResourceRequest
10, // 20: testing.attribute.v1.TestResourceService.TestUpdateResource:input_type -> testing.attribute.v1.TestUpdateResourceRequest
6, // 21: testing.attribute.v1.TestResourceService.TestGetResource:input_type -> testing.attribute.v1.TestGetResourceRequest
5, // 22: testing.attribute.v1.TestResourceService.TestListResource:output_type -> testing.attribute.v1.TestListResourceResponse
9, // 23: testing.attribute.v1.TestResourceService.TestCreateResource:output_type -> testing.attribute.v1.TestCreateResourceResponse
11, // 24: testing.attribute.v1.TestResourceService.TestUpdateResource:output_type -> testing.attribute.v1.TestUpdateResourceResponse
7, // 25: testing.attribute.v1.TestResourceService.TestGetResource:output_type -> testing.attribute.v1.TestGetResourceResponse
22, // [22:26] is the sub-list for method output_type
18, // [18:22] is the sub-list for method input_type
18, // [18:18] is the sub-list for extension type_name
18, // [18:18] is the sub-list for extension extendee
0, // [0:18] is the sub-list for field type_name
}
func init() { file_testing_attribute_v1_attribute_proto_init() }
func file_testing_attribute_v1_attribute_proto_init() {
if File_testing_attribute_v1_attribute_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_testing_attribute_v1_attribute_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TestResource); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testing_attribute_v1_attribute_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TestSubResourceAttributes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testing_attribute_v1_attribute_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TestNoAttributes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testing_attribute_v1_attribute_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TestNoOneOf); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testing_attribute_v1_attribute_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TestListResourceRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testing_attribute_v1_attribute_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TestListResourceResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testing_attribute_v1_attribute_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TestGetResourceRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testing_attribute_v1_attribute_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TestGetResourceResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testing_attribute_v1_attribute_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TestCreateResourceRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testing_attribute_v1_attribute_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TestCreateResourceResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testing_attribute_v1_attribute_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TestUpdateResourceRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testing_attribute_v1_attribute_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TestUpdateResourceResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testing_attribute_v1_attribute_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TestRequestNoItem); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testing_attribute_v1_attribute_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TestRequestItemNotMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testing_attribute_v1_attribute_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TestItemNoType); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testing_attribute_v1_attribute_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TestRequestItemNoType); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testing_attribute_v1_attribute_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TestNoItemAttributes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testing_attribute_v1_attribute_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TestCreateNoOneOfRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testing_attribute_v1_attribute_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TestUpdateNoOneOfRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testing_attribute_v1_attribute_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TestResponseNoItem); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testing_attribute_v1_attribute_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TestResponseItemNotMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testing_attribute_v1_attribute_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TestResponseItemNoType); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testing_attribute_v1_attribute_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TestCreateNoOneOfResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testing_attribute_v1_attribute_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TestUpdateNoOneOfResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_testing_attribute_v1_attribute_proto_msgTypes[0].OneofWrappers = []interface{}{
(*TestResource_Attributes)(nil),
(*TestResource_SubResourceAttributes)(nil),
}
file_testing_attribute_v1_attribute_proto_msgTypes[16].OneofWrappers = []interface{}{
(*TestNoItemAttributes_Attributes)(nil),
(*TestNoItemAttributes_SubResourceAttributes)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_testing_attribute_v1_attribute_proto_rawDesc,
NumEnums: 0,
NumMessages: 24,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_testing_attribute_v1_attribute_proto_goTypes,
DependencyIndexes: file_testing_attribute_v1_attribute_proto_depIdxs,
MessageInfos: file_testing_attribute_v1_attribute_proto_msgTypes,
}.Build()
File_testing_attribute_v1_attribute_proto = out.File
file_testing_attribute_v1_attribute_proto_rawDesc = nil
file_testing_attribute_v1_attribute_proto_goTypes = nil
file_testing_attribute_v1_attribute_proto_depIdxs = nil
}