proto: Add SubscribeRequest.Namespace

For subscribing to service events in a namespace
This commit is contained in:
Daniel Nephin 2020-10-27 13:27:42 -04:00
parent bc07901527
commit 74b7325839
2 changed files with 97 additions and 35 deletions

View File

@ -108,7 +108,12 @@ type SubscribeRequest struct {
// If it's not the local DC the server will forward the request to // If it's not the local DC the server will forward the request to
// the remote DC and proxy the results back to the subscriber. An empty // the remote DC and proxy the results back to the subscriber. An empty
// string defaults to the local datacenter. // string defaults to the local datacenter.
Datacenter string `protobuf:"bytes,5,opt,name=Datacenter,proto3" json:"Datacenter,omitempty"` Datacenter string `protobuf:"bytes,5,opt,name=Datacenter,proto3" json:"Datacenter,omitempty"`
// Namespace which contains the resources. If Namespace is not specified the
// default namespace will be used.
//
// Namespace is an enterprise-only feature.
Namespace string `protobuf:"bytes,6,opt,name=Namespace,proto3" json:"Namespace,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
@ -182,6 +187,13 @@ func (m *SubscribeRequest) GetDatacenter() string {
return "" return ""
} }
func (m *SubscribeRequest) GetNamespace() string {
if m != nil {
return m.Namespace
}
return ""
}
// Event describes a streaming update on a subscription. Events are used both to // Event describes a streaming update on a subscription. Events are used both to
// describe the current "snapshot" of the result as well as ongoing mutations to // describe the current "snapshot" of the result as well as ongoing mutations to
// that snapshot. // that snapshot.
@ -546,40 +558,41 @@ func init() {
func init() { proto.RegisterFile("proto/pbsubscribe/subscribe.proto", fileDescriptor_ab3eb8c810e315fb) } func init() { proto.RegisterFile("proto/pbsubscribe/subscribe.proto", fileDescriptor_ab3eb8c810e315fb) }
var fileDescriptor_ab3eb8c810e315fb = []byte{ var fileDescriptor_ab3eb8c810e315fb = []byte{
// 526 bytes of a gzipped FileDescriptorProto // 543 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x53, 0x5f, 0x6f, 0xd2, 0x50, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x53, 0xcd, 0x6e, 0xd3, 0x4c,
0x14, 0xef, 0x85, 0x01, 0xe3, 0xe0, 0x96, 0x7a, 0x87, 0xb1, 0x61, 0x49, 0x83, 0xc4, 0x2c, 0x75, 0x14, 0xf5, 0x24, 0xfd, 0xf3, 0xcd, 0xd7, 0xca, 0xdf, 0xb4, 0x08, 0x2b, 0x45, 0x56, 0x88, 0x50,
0x89, 0xd4, 0x60, 0xa2, 0x6f, 0x1a, 0x61, 0x9b, 0x18, 0x93, 0x61, 0xca, 0xf6, 0xa0, 0x6f, 0x97, 0x65, 0x2a, 0x11, 0xa3, 0x20, 0xc1, 0x0e, 0x44, 0xd2, 0x96, 0x20, 0xa4, 0x04, 0x39, 0xed, 0x02,
0xf6, 0x48, 0x1b, 0xea, 0xbd, 0xb5, 0xbd, 0x0c, 0xf7, 0xee, 0x87, 0xd8, 0xb7, 0xf1, 0xd5, 0x47, 0x76, 0x13, 0xfb, 0x12, 0x5b, 0x71, 0x67, 0x8c, 0x3d, 0x69, 0xe8, 0x9e, 0x87, 0xe0, 0x49, 0xd8,
0x3f, 0x82, 0xc1, 0x2f, 0x62, 0xb8, 0x94, 0xae, 0xc0, 0xde, 0xf6, 0xd6, 0xf3, 0xfb, 0x73, 0xcf, 0xb2, 0x65, 0xc9, 0x23, 0xa0, 0xf0, 0x22, 0x28, 0x13, 0xc7, 0x71, 0x92, 0xee, 0xd8, 0xcd, 0x3d,
0x2f, 0xe7, 0xf4, 0xc0, 0x93, 0x28, 0x16, 0x52, 0xd8, 0xd1, 0x28, 0x99, 0x8e, 0x12, 0x37, 0x0e, 0x3f, 0xe3, 0xa3, 0x39, 0xbe, 0xf0, 0x30, 0x4e, 0x84, 0x14, 0x4e, 0x3c, 0x48, 0xc7, 0x83, 0xd4,
0x46, 0x68, 0x67, 0x5f, 0x6d, 0xc5, 0xd1, 0x6a, 0x06, 0x34, 0x1a, 0x99, 0x1a, 0xe3, 0xab, 0xc0, 0x4b, 0xc2, 0x01, 0x3a, 0xf9, 0xa9, 0xa1, 0x38, 0xaa, 0xe7, 0x40, 0xb5, 0x9a, 0xab, 0x31, 0xb9,
0x45, 0x9b, 0x0b, 0x2f, 0x95, 0xb5, 0x6e, 0x08, 0xe8, 0xc3, 0x95, 0xd2, 0xc1, 0xef, 0x53, 0x4c, 0x09, 0x3d, 0x74, 0xb8, 0xf0, 0x33, 0x59, 0xfd, 0x3b, 0x01, 0xa3, 0xbf, 0x50, 0xba, 0xf8, 0x79,
0x24, 0x3d, 0x82, 0xd2, 0x85, 0x88, 0x02, 0xd7, 0x20, 0x4d, 0x62, 0xed, 0x77, 0xf4, 0xf6, 0xed, 0x8c, 0xa9, 0xa4, 0x27, 0xb0, 0x7d, 0x29, 0xe2, 0xd0, 0x33, 0x49, 0x8d, 0xd8, 0x07, 0x4d, 0xa3,
0xe3, 0x0a, 0x77, 0x96, 0x34, 0xd5, 0xa1, 0xf8, 0x11, 0xaf, 0x8d, 0x42, 0x93, 0x58, 0x55, 0x67, 0xb1, 0xbc, 0x5c, 0xe1, 0xee, 0x9c, 0xa6, 0x06, 0x94, 0xdf, 0xe1, 0xad, 0x59, 0xaa, 0x11, 0x5b,
0xf1, 0x49, 0xeb, 0x0b, 0xe7, 0x04, 0xb9, 0x51, 0x54, 0xd8, 0xb2, 0x58, 0xa0, 0x1f, 0xb8, 0x87, 0x77, 0x67, 0x47, 0x7a, 0x34, 0x73, 0x8e, 0x90, 0x9b, 0x65, 0x85, 0xcd, 0x87, 0x19, 0xfa, 0x96,
0x3f, 0x8c, 0x9d, 0x26, 0xb1, 0x76, 0x9c, 0x65, 0x41, 0x4d, 0x80, 0x13, 0x26, 0x99, 0x8b, 0x5c, 0xfb, 0xf8, 0xc5, 0xdc, 0xaa, 0x11, 0x7b, 0xcb, 0x9d, 0x0f, 0xd4, 0x02, 0x38, 0x63, 0x92, 0x79,
0x62, 0x6c, 0x94, 0x94, 0x21, 0x87, 0xb4, 0x7e, 0x15, 0xa0, 0x74, 0x7a, 0x85, 0xfc, 0x9e, 0x79, 0xc8, 0x25, 0x26, 0xe6, 0xb6, 0x32, 0x14, 0x10, 0xfa, 0x00, 0xf4, 0x2e, 0xbb, 0xc6, 0x34, 0x66,
0x96, 0x9d, 0x8b, 0xf9, 0xce, 0x47, 0xb0, 0x77, 0xca, 0xbd, 0xc1, 0xd7, 0x21, 0x67, 0x51, 0xe2, 0x1e, 0x9a, 0x3b, 0x8a, 0x5e, 0x02, 0xf5, 0x1f, 0x25, 0xd8, 0x3e, 0xbf, 0x41, 0xfe, 0x8f, 0x69,
0x0b, 0xa9, 0x9a, 0xef, 0xf6, 0x35, 0x67, 0x1d, 0xa6, 0x1d, 0x38, 0x38, 0xc7, 0xd9, 0xaa, 0xbc, 0xe7, 0xb9, 0xca, 0xc5, 0x5c, 0x27, 0xb0, 0x7f, 0xce, 0xfd, 0xde, 0xa7, 0x3e, 0x67, 0x71, 0x1a,
0x10, 0x67, 0x22, 0x0c, 0xc5, 0xcc, 0x28, 0xa7, 0xea, 0xbb, 0x48, 0xfa, 0x1a, 0x40, 0x85, 0xee, 0x08, 0xa9, 0xa2, 0xed, 0x75, 0x34, 0x77, 0x15, 0xa6, 0x4d, 0x38, 0xec, 0xe2, 0x64, 0x31, 0x5e,
0x32, 0xe9, 0xfa, 0x46, 0xa5, 0x49, 0xac, 0x5a, 0xe7, 0x51, 0x2e, 0xf0, 0x2d, 0xd9, 0xd7, 0x9c, 0x8a, 0x0b, 0x11, 0x45, 0x62, 0xa2, 0x92, 0xce, 0xd4, 0x77, 0x91, 0xf4, 0x05, 0x80, 0x0a, 0xdd,
0x9c, 0x94, 0x9e, 0xc1, 0xde, 0x70, 0xb9, 0x9f, 0x3e, 0xb2, 0x50, 0xfa, 0x06, 0x28, 0xaf, 0x99, 0x62, 0xd2, 0x0b, 0xcc, 0xdd, 0x1a, 0xb1, 0x2b, 0xcd, 0x7b, 0x85, 0xc0, 0x4b, 0xb2, 0xa3, 0xb9,
0xf3, 0xae, 0xf1, 0x97, 0x91, 0xc7, 0x24, 0x2e, 0x42, 0xaf, 0xc1, 0xdd, 0x2a, 0x54, 0x3e, 0xb1, 0x05, 0x29, 0xbd, 0x80, 0xfd, 0xfe, 0xbc, 0xbd, 0x0e, 0xb2, 0x48, 0x06, 0x26, 0x28, 0xaf, 0x55,
0xeb, 0x50, 0x30, 0xaf, 0xf5, 0x2a, 0x9f, 0x85, 0x5a, 0x50, 0x56, 0x55, 0x62, 0x90, 0x66, 0xd1, 0xf0, 0xae, 0xf0, 0x57, 0xb1, 0xcf, 0x24, 0xce, 0x42, 0xaf, 0xc0, 0x2d, 0x1d, 0x76, 0xdf, 0xb3,
0xaa, 0xad, 0x8d, 0x51, 0x11, 0x4e, 0xca, 0xb7, 0x7e, 0x12, 0x38, 0xb8, 0xa3, 0x17, 0x7d, 0x0a, 0xdb, 0x48, 0x30, 0xbf, 0xfe, 0xbc, 0x98, 0x85, 0xda, 0xb0, 0xa3, 0xa6, 0xd4, 0x24, 0xb5, 0xb2,
0x85, 0x41, 0x94, 0x2e, 0xa1, 0x9e, 0x73, 0xf7, 0x98, 0x64, 0xa1, 0x18, 0x0f, 0x22, 0xa7, 0x30, 0x5d, 0x59, 0x79, 0x46, 0x45, 0xb8, 0x19, 0x5f, 0xff, 0x4a, 0xe0, 0xf0, 0x8e, 0x6f, 0xd1, 0x47,
0x88, 0xe8, 0x7b, 0xd0, 0x7b, 0x3e, 0xba, 0x93, 0xf4, 0x85, 0x73, 0xe1, 0xa1, 0x5a, 0x49, 0xad, 0x50, 0xea, 0xc5, 0x59, 0x09, 0x47, 0x05, 0x77, 0x9b, 0x49, 0x16, 0x89, 0x61, 0x2f, 0x76, 0x4b,
0x73, 0xd8, 0xce, 0xfe, 0xc1, 0xf6, 0xa6, 0xc4, 0xd9, 0x32, 0x1d, 0xbf, 0x4b, 0xd7, 0x4e, 0x6b, 0xbd, 0x98, 0xbe, 0x01, 0xa3, 0x1d, 0xa0, 0x37, 0xca, 0x6e, 0xe8, 0x0a, 0x1f, 0x55, 0x25, 0x95,
0x50, 0xb9, 0xe4, 0x13, 0x2e, 0x66, 0x5c, 0xd7, 0xe8, 0xc3, 0x8d, 0x39, 0xe9, 0x84, 0x1a, 0x50, 0xe6, 0x71, 0x23, 0xff, 0x43, 0x1b, 0xeb, 0x12, 0x77, 0xc3, 0x74, 0xfa, 0x3a, 0xab, 0x9d, 0x56,
0x5f, 0x83, 0x7a, 0x82, 0x73, 0x74, 0xa5, 0x5e, 0x38, 0x7e, 0x06, 0xd5, 0x2c, 0x1c, 0x7d, 0x00, 0x60, 0xf7, 0x8a, 0x8f, 0xb8, 0x98, 0x70, 0x43, 0xa3, 0xff, 0xaf, 0xbd, 0x93, 0x41, 0xa8, 0x09,
0xbb, 0x0e, 0x8e, 0x83, 0x44, 0x62, 0xac, 0x6b, 0x74, 0x1f, 0xe0, 0x04, 0xe3, 0x55, 0x4d, 0x3a, 0x47, 0x2b, 0x50, 0x5b, 0x70, 0x8e, 0x9e, 0x34, 0x4a, 0xa7, 0x8f, 0x41, 0xcf, 0xc3, 0xd1, 0xff,
0x9f, 0xe1, 0xf1, 0x50, 0x32, 0x89, 0x3d, 0x9f, 0xf1, 0x31, 0xa6, 0x37, 0x11, 0xc9, 0x40, 0x70, 0x60, 0xcf, 0xc5, 0x61, 0x98, 0x4a, 0x4c, 0x0c, 0x8d, 0x1e, 0x00, 0x9c, 0x61, 0xb2, 0x98, 0x49,
0xfa, 0x06, 0xaa, 0xd9, 0x8d, 0xd0, 0xc3, 0xfc, 0x42, 0x36, 0x2e, 0xa7, 0xb1, 0x35, 0xd3, 0x96, 0xf3, 0x03, 0xdc, 0xef, 0x4b, 0x26, 0xb1, 0x1d, 0x30, 0x3e, 0xc4, 0x6c, 0x63, 0x62, 0x19, 0x0a,
0xf6, 0x82, 0x74, 0xdf, 0xfe, 0x9e, 0x9b, 0xe4, 0xcf, 0xdc, 0x24, 0x7f, 0xe7, 0x26, 0xb9, 0xf9, 0x4e, 0x5f, 0x82, 0x9e, 0x6f, 0x10, 0x3d, 0x2e, 0x16, 0xb2, 0xb6, 0x57, 0xd5, 0x8d, 0x37, 0xad,
0x67, 0x6a, 0x5f, 0x9e, 0x8f, 0x03, 0xe9, 0x4f, 0x47, 0x6d, 0x57, 0x7c, 0xb3, 0x7d, 0x96, 0xf8, 0x6b, 0x4f, 0x49, 0xeb, 0xd5, 0xcf, 0xa9, 0x45, 0x7e, 0x4d, 0x2d, 0xf2, 0x7b, 0x6a, 0x91, 0x6f,
0x81, 0x2b, 0xe2, 0xc8, 0x76, 0x05, 0x4f, 0xa6, 0xa1, 0xbd, 0x75, 0xdc, 0xa3, 0xb2, 0x82, 0x5e, 0x7f, 0x2c, 0xed, 0xe3, 0x93, 0x61, 0x28, 0x83, 0xf1, 0xa0, 0xe1, 0x89, 0x6b, 0x27, 0x60, 0x69,
0xfe, 0x0f, 0x00, 0x00, 0xff, 0xff, 0x44, 0xbc, 0x0a, 0xfb, 0xf8, 0x03, 0x00, 0x00, 0x10, 0x7a, 0x22, 0x89, 0x1d, 0x4f, 0xf0, 0x74, 0x1c, 0x39, 0x1b, 0xab, 0x3f, 0xd8, 0x51, 0xd0,
0xb3, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x45, 0xc8, 0x3f, 0xd7, 0x16, 0x04, 0x00, 0x00,
} }
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.
@ -751,6 +764,13 @@ func (m *SubscribeRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i -= len(m.XXX_unrecognized) i -= len(m.XXX_unrecognized)
copy(dAtA[i:], m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized)
} }
if len(m.Namespace) > 0 {
i -= len(m.Namespace)
copy(dAtA[i:], m.Namespace)
i = encodeVarintSubscribe(dAtA, i, uint64(len(m.Namespace)))
i--
dAtA[i] = 0x32
}
if len(m.Datacenter) > 0 { if len(m.Datacenter) > 0 {
i -= len(m.Datacenter) i -= len(m.Datacenter)
copy(dAtA[i:], m.Datacenter) copy(dAtA[i:], m.Datacenter)
@ -1030,6 +1050,10 @@ func (m *SubscribeRequest) Size() (n int) {
if l > 0 { if l > 0 {
n += 1 + l + sovSubscribe(uint64(l)) n += 1 + l + sovSubscribe(uint64(l))
} }
l = len(m.Namespace)
if l > 0 {
n += 1 + l + sovSubscribe(uint64(l))
}
if m.XXX_unrecognized != nil { if m.XXX_unrecognized != nil {
n += len(m.XXX_unrecognized) n += len(m.XXX_unrecognized)
} }
@ -1309,6 +1333,38 @@ func (m *SubscribeRequest) Unmarshal(dAtA []byte) error {
} }
m.Datacenter = string(dAtA[iNdEx:postIndex]) m.Datacenter = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex iNdEx = postIndex
case 6:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Namespace", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowSubscribe
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthSubscribe
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthSubscribe
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Namespace = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
default: default:
iNdEx = preIndex iNdEx = preIndex
skippy, err := skipSubscribe(dAtA[iNdEx:]) skippy, err := skipSubscribe(dAtA[iNdEx:])

View File

@ -73,6 +73,12 @@ message SubscribeRequest {
// the remote DC and proxy the results back to the subscriber. An empty // the remote DC and proxy the results back to the subscriber. An empty
// string defaults to the local datacenter. // string defaults to the local datacenter.
string Datacenter = 5; string Datacenter = 5;
// Namespace which contains the resources. If Namespace is not specified the
// default namespace will be used.
//
// Namespace is an enterprise-only feature.
string Namespace = 6;
} }
// Event describes a streaming update on a subscription. Events are used both to // Event describes a streaming update on a subscription. Events are used both to