diff --git a/proto/topo.proto b/proto/topo.proto index c392dda7..0d7ce7b5 100644 --- a/proto/topo.proto +++ b/proto/topo.proto @@ -81,6 +81,32 @@ message Node { // If interfaces is empty the interfaces defined in the links portion of the // topology will be populated into the node. map interfaces = 12; + // Any host constraints required by the node. These may not be required by a + // vendor, but it can be used to provide requirements for the node. + repeated HostConstraint host_constraints = 13; +} + +// HostConstraint is a constraint on the host where the node is running. +message HostConstraint{ + oneof constraint{ + // Includes the required sysctl settings that need to be configured + KernelParam kernel_constraint = 1; + } +} + +// Kernel parameter for Sysctl settings for the host +message KernelParam{ + // MIB style name of the kernel state to constrain. + string name = 1; + oneof ConstraintType{ + BoundedInteger bounded_integer = 2; + } +} + +// BoundedInteger to capture the range of max or min for a particular setting +message BoundedInteger{ + int64 max_value = 1; + int64 min_value = 2; } // Interface keys must be the same as the links a,z int. diff --git a/proto/topo/topo.pb.go b/proto/topo/topo.pb.go index a7426558..b1771ece 100644 --- a/proto/topo/topo.pb.go +++ b/proto/topo/topo.pb.go @@ -285,6 +285,9 @@ type Node struct { // If interfaces is empty the interfaces defined in the links portion of the // topology will be populated into the node. Interfaces map[string]*Interface `protobuf:"bytes,12,rep,name=interfaces,proto3" json:"interfaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Any host constraints required by the node. These may not be required by a + // vendor, but it can be used to provide requirements for the node. + HostConstraints []*HostConstraint `protobuf:"bytes,13,rep,name=host_constraints,json=hostConstraints,proto3" json:"host_constraints,omitempty"` } func (x *Node) Reset() { @@ -397,6 +400,215 @@ func (x *Node) GetInterfaces() map[string]*Interface { return nil } +func (x *Node) GetHostConstraints() []*HostConstraint { + if x != nil { + return x.HostConstraints + } + return nil +} + +// HostConstraint is a constraint on the host where the node is running. +type HostConstraint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Constraint: + // + // *HostConstraint_KernelConstraint + Constraint isHostConstraint_Constraint `protobuf_oneof:"constraint"` +} + +func (x *HostConstraint) Reset() { + *x = HostConstraint{} + if protoimpl.UnsafeEnabled { + mi := &file_topo_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HostConstraint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HostConstraint) ProtoMessage() {} + +func (x *HostConstraint) ProtoReflect() protoreflect.Message { + mi := &file_topo_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 HostConstraint.ProtoReflect.Descriptor instead. +func (*HostConstraint) Descriptor() ([]byte, []int) { + return file_topo_proto_rawDescGZIP(), []int{2} +} + +func (m *HostConstraint) GetConstraint() isHostConstraint_Constraint { + if m != nil { + return m.Constraint + } + return nil +} + +func (x *HostConstraint) GetKernelConstraint() *KernelParam { + if x, ok := x.GetConstraint().(*HostConstraint_KernelConstraint); ok { + return x.KernelConstraint + } + return nil +} + +type isHostConstraint_Constraint interface { + isHostConstraint_Constraint() +} + +type HostConstraint_KernelConstraint struct { + // Includes the required sysctl settings that need to be configured + KernelConstraint *KernelParam `protobuf:"bytes,1,opt,name=kernel_constraint,json=kernelConstraint,proto3,oneof"` +} + +func (*HostConstraint_KernelConstraint) isHostConstraint_Constraint() {} + +// Kernel parameter for Sysctl settings for the host +type KernelParam struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // MIB style name of the kernel state to constrain. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Types that are assignable to ConstraintType: + // + // *KernelParam_BoundedInteger + ConstraintType isKernelParam_ConstraintType `protobuf_oneof:"ConstraintType"` +} + +func (x *KernelParam) Reset() { + *x = KernelParam{} + if protoimpl.UnsafeEnabled { + mi := &file_topo_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KernelParam) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KernelParam) ProtoMessage() {} + +func (x *KernelParam) ProtoReflect() protoreflect.Message { + mi := &file_topo_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 KernelParam.ProtoReflect.Descriptor instead. +func (*KernelParam) Descriptor() ([]byte, []int) { + return file_topo_proto_rawDescGZIP(), []int{3} +} + +func (x *KernelParam) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (m *KernelParam) GetConstraintType() isKernelParam_ConstraintType { + if m != nil { + return m.ConstraintType + } + return nil +} + +func (x *KernelParam) GetBoundedInteger() *BoundedInteger { + if x, ok := x.GetConstraintType().(*KernelParam_BoundedInteger); ok { + return x.BoundedInteger + } + return nil +} + +type isKernelParam_ConstraintType interface { + isKernelParam_ConstraintType() +} + +type KernelParam_BoundedInteger struct { + BoundedInteger *BoundedInteger `protobuf:"bytes,2,opt,name=bounded_integer,json=boundedInteger,proto3,oneof"` +} + +func (*KernelParam_BoundedInteger) isKernelParam_ConstraintType() {} + +// BoundedInteger to capture the range of max or min for a particular setting +type BoundedInteger struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MaxValue int64 `protobuf:"varint,1,opt,name=max_value,json=maxValue,proto3" json:"max_value,omitempty"` + MinValue int64 `protobuf:"varint,2,opt,name=min_value,json=minValue,proto3" json:"min_value,omitempty"` +} + +func (x *BoundedInteger) Reset() { + *x = BoundedInteger{} + if protoimpl.UnsafeEnabled { + mi := &file_topo_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BoundedInteger) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BoundedInteger) ProtoMessage() {} + +func (x *BoundedInteger) ProtoReflect() protoreflect.Message { + mi := &file_topo_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 BoundedInteger.ProtoReflect.Descriptor instead. +func (*BoundedInteger) Descriptor() ([]byte, []int) { + return file_topo_proto_rawDescGZIP(), []int{4} +} + +func (x *BoundedInteger) GetMaxValue() int64 { + if x != nil { + return x.MaxValue + } + return 0 +} + +func (x *BoundedInteger) GetMinValue() int64 { + if x != nil { + return x.MinValue + } + return 0 +} + // Interface keys must be the same as the links a,z int. type Interface struct { state protoimpl.MessageState @@ -425,7 +637,7 @@ type Interface struct { func (x *Interface) Reset() { *x = Interface{} if protoimpl.UnsafeEnabled { - mi := &file_topo_proto_msgTypes[2] + mi := &file_topo_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -438,7 +650,7 @@ func (x *Interface) String() string { func (*Interface) ProtoMessage() {} func (x *Interface) ProtoReflect() protoreflect.Message { - mi := &file_topo_proto_msgTypes[2] + mi := &file_topo_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -451,7 +663,7 @@ func (x *Interface) ProtoReflect() protoreflect.Message { // Deprecated: Use Interface.ProtoReflect.Descriptor instead. func (*Interface) Descriptor() ([]byte, []int) { - return file_topo_proto_rawDescGZIP(), []int{2} + return file_topo_proto_rawDescGZIP(), []int{5} } func (x *Interface) GetName() string { @@ -519,7 +731,7 @@ type Link struct { func (x *Link) Reset() { *x = Link{} if protoimpl.UnsafeEnabled { - mi := &file_topo_proto_msgTypes[3] + mi := &file_topo_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -532,7 +744,7 @@ func (x *Link) String() string { func (*Link) ProtoMessage() {} func (x *Link) ProtoReflect() protoreflect.Message { - mi := &file_topo_proto_msgTypes[3] + mi := &file_topo_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -545,7 +757,7 @@ func (x *Link) ProtoReflect() protoreflect.Message { // Deprecated: Use Link.ProtoReflect.Descriptor instead. func (*Link) Descriptor() ([]byte, []int) { - return file_topo_proto_rawDescGZIP(), []int{3} + return file_topo_proto_rawDescGZIP(), []int{6} } func (x *Link) GetANode() string { @@ -610,7 +822,7 @@ type Config struct { func (x *Config) Reset() { *x = Config{} if protoimpl.UnsafeEnabled { - mi := &file_topo_proto_msgTypes[4] + mi := &file_topo_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -623,7 +835,7 @@ func (x *Config) String() string { func (*Config) ProtoMessage() {} func (x *Config) ProtoReflect() protoreflect.Message { - mi := &file_topo_proto_msgTypes[4] + mi := &file_topo_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -636,7 +848,7 @@ func (x *Config) ProtoReflect() protoreflect.Message { // Deprecated: Use Config.ProtoReflect.Descriptor instead. func (*Config) Descriptor() ([]byte, []int) { - return file_topo_proto_rawDescGZIP(), []int{4} + return file_topo_proto_rawDescGZIP(), []int{7} } func (x *Config) GetCommand() []string { @@ -769,7 +981,7 @@ type CertificateCfg struct { func (x *CertificateCfg) Reset() { *x = CertificateCfg{} if protoimpl.UnsafeEnabled { - mi := &file_topo_proto_msgTypes[5] + mi := &file_topo_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -782,7 +994,7 @@ func (x *CertificateCfg) String() string { func (*CertificateCfg) ProtoMessage() {} func (x *CertificateCfg) ProtoReflect() protoreflect.Message { - mi := &file_topo_proto_msgTypes[5] + mi := &file_topo_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -795,7 +1007,7 @@ func (x *CertificateCfg) ProtoReflect() protoreflect.Message { // Deprecated: Use CertificateCfg.ProtoReflect.Descriptor instead. func (*CertificateCfg) Descriptor() ([]byte, []int) { - return file_topo_proto_rawDescGZIP(), []int{5} + return file_topo_proto_rawDescGZIP(), []int{8} } func (m *CertificateCfg) GetConfig() isCertificateCfg_Config { @@ -841,7 +1053,7 @@ type SelfSignedCertCfg struct { func (x *SelfSignedCertCfg) Reset() { *x = SelfSignedCertCfg{} if protoimpl.UnsafeEnabled { - mi := &file_topo_proto_msgTypes[6] + mi := &file_topo_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -854,7 +1066,7 @@ func (x *SelfSignedCertCfg) String() string { func (*SelfSignedCertCfg) ProtoMessage() {} func (x *SelfSignedCertCfg) ProtoReflect() protoreflect.Message { - mi := &file_topo_proto_msgTypes[6] + mi := &file_topo_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -867,7 +1079,7 @@ func (x *SelfSignedCertCfg) ProtoReflect() protoreflect.Message { // Deprecated: Use SelfSignedCertCfg.ProtoReflect.Descriptor instead. func (*SelfSignedCertCfg) Descriptor() ([]byte, []int) { - return file_topo_proto_rawDescGZIP(), []int{6} + return file_topo_proto_rawDescGZIP(), []int{9} } func (x *SelfSignedCertCfg) GetCertName() string { @@ -922,7 +1134,7 @@ type Service struct { func (x *Service) Reset() { *x = Service{} if protoimpl.UnsafeEnabled { - mi := &file_topo_proto_msgTypes[7] + mi := &file_topo_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -935,7 +1147,7 @@ func (x *Service) String() string { func (*Service) ProtoMessage() {} func (x *Service) ProtoReflect() protoreflect.Message { - mi := &file_topo_proto_msgTypes[7] + mi := &file_topo_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -948,7 +1160,7 @@ func (x *Service) ProtoReflect() protoreflect.Message { // Deprecated: Use Service.ProtoReflect.Descriptor instead. func (*Service) Descriptor() ([]byte, []int) { - return file_topo_proto_rawDescGZIP(), []int{7} + return file_topo_proto_rawDescGZIP(), []int{10} } func (x *Service) GetName() string { @@ -1005,7 +1217,7 @@ var file_topo_proto_rawDesc = []byte{ 0x6f, 0x70, 0x6f, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, - 0x73, 0x22, 0xa8, 0x07, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x73, 0x22, 0xe9, 0x07, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x02, 0x18, @@ -1032,123 +1244,145 @@ var file_topo_proto_rawDesc = []byte{ 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, - 0x61, 0x63, 0x65, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, - 0x4a, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x23, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0d, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x43, - 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x61, 0x63, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x10, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, + 0x61, 0x69, 0x6e, 0x74, 0x52, 0x0f, 0x68, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, + 0x61, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x1a, 0x4a, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, + 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4e, 0x0a, 0x0f, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4e, 0x0a, 0x0f, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd8, 0x01, 0x0a, 0x04, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, - 0x00, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x4f, 0x53, 0x54, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x41, - 0x52, 0x49, 0x53, 0x54, 0x41, 0x5f, 0x43, 0x45, 0x4f, 0x53, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, - 0x4a, 0x55, 0x4e, 0x49, 0x50, 0x45, 0x52, 0x5f, 0x43, 0x45, 0x56, 0x4f, 0x10, 0x03, 0x12, 0x0d, - 0x0a, 0x09, 0x43, 0x49, 0x53, 0x43, 0x4f, 0x5f, 0x43, 0x58, 0x52, 0x10, 0x04, 0x12, 0x0a, 0x0a, - 0x06, 0x51, 0x55, 0x41, 0x47, 0x47, 0x41, 0x10, 0x05, 0x12, 0x07, 0x0a, 0x03, 0x46, 0x52, 0x52, - 0x10, 0x06, 0x12, 0x0f, 0x0a, 0x0b, 0x4a, 0x55, 0x4e, 0x49, 0x50, 0x45, 0x52, 0x5f, 0x56, 0x4d, - 0x58, 0x10, 0x07, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x49, 0x53, 0x43, 0x4f, 0x5f, 0x43, 0x53, 0x52, - 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x4b, 0x49, 0x41, 0x5f, 0x53, 0x52, 0x4c, 0x10, - 0x09, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x58, 0x49, 0x41, 0x5f, 0x54, 0x47, 0x10, 0x0a, 0x12, 0x09, - 0x0a, 0x05, 0x47, 0x4f, 0x42, 0x47, 0x50, 0x10, 0x0b, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x49, 0x53, - 0x43, 0x4f, 0x5f, 0x58, 0x52, 0x44, 0x10, 0x0c, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x49, 0x53, 0x43, - 0x4f, 0x5f, 0x45, 0x38, 0x30, 0x30, 0x30, 0x10, 0x0d, 0x12, 0x0b, 0x0a, 0x07, 0x4c, 0x45, 0x4d, - 0x4d, 0x49, 0x4e, 0x47, 0x10, 0x0e, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0xb5, 0x01, 0x0a, - 0x09, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, - 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x69, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x74, 0x75, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x12, 0x1b, 0x0a, 0x09, 0x70, - 0x65, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x70, 0x65, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x65, 0x65, 0x72, - 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x70, 0x65, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, - 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x22, 0x5e, 0x0a, 0x04, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x15, 0x0a, 0x06, - 0x61, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x4e, - 0x6f, 0x64, 0x65, 0x12, 0x13, 0x0a, 0x05, 0x61, 0x5f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x61, 0x49, 0x6e, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x7a, 0x5f, 0x6e, 0x6f, - 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x7a, 0x4e, 0x6f, 0x64, 0x65, 0x12, - 0x13, 0x0a, 0x05, 0x7a, 0x5f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x7a, 0x49, 0x6e, 0x74, 0x22, 0xe5, 0x03, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x14, 0x0a, - 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, - 0x6e, 0x76, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, 0x23, 0x0a, 0x0d, - 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x70, 0x61, 0x74, 0x68, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x61, - 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x66, 0x69, 0x6c, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, - 0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x6c, 0x65, 0x65, 0x70, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x73, 0x6c, 0x65, 0x65, 0x70, 0x12, 0x28, 0x0a, 0x04, 0x63, 0x65, 0x72, - 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x2e, 0x43, - 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x66, 0x67, 0x52, 0x04, 0x63, - 0x65, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x65, 0x20, 0x01, 0x28, - 0x0c, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x04, 0x66, 0x69, 0x6c, - 0x65, 0x18, 0x66, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x69, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x35, - 0x0a, 0x0b, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0a, 0x76, 0x65, 0x6e, 0x64, 0x6f, - 0x72, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x36, 0x0a, 0x08, 0x45, 0x6e, 0x76, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0d, 0x0a, - 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x22, 0x56, 0x0a, 0x0e, - 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x66, 0x67, 0x12, 0x3a, - 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x2e, 0x53, 0x65, 0x6c, 0x66, 0x53, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x43, 0x65, 0x72, 0x74, 0x43, 0x66, 0x67, 0x48, 0x00, 0x52, 0x0a, - 0x73, 0x65, 0x6c, 0x66, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x22, 0x87, 0x01, 0x0a, 0x11, 0x53, 0x65, 0x6c, 0x66, 0x53, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x43, 0x65, 0x72, 0x74, 0x43, 0x66, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x65, - 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, - 0x65, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1f, 0x0a, - 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xa8, - 0x01, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, - 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, - 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x5f, 0x69, 0x70, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x49, 0x70, 0x12, - 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x5f, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x49, 0x70, 0x12, 0x1b, 0x0a, 0x09, - 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x2a, 0x8c, 0x01, 0x0a, 0x06, 0x56, 0x65, - 0x6e, 0x64, 0x6f, 0x72, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, - 0x00, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x4f, 0x53, 0x54, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x41, - 0x52, 0x49, 0x53, 0x54, 0x41, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x49, 0x53, 0x43, 0x4f, - 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x4a, 0x55, 0x4e, 0x49, 0x50, 0x45, 0x52, 0x10, 0x04, 0x12, - 0x0c, 0x0a, 0x08, 0x4b, 0x45, 0x59, 0x53, 0x49, 0x47, 0x48, 0x54, 0x10, 0x05, 0x12, 0x07, 0x0a, - 0x03, 0x46, 0x52, 0x52, 0x10, 0x06, 0x12, 0x0a, 0x0a, 0x06, 0x51, 0x55, 0x41, 0x47, 0x47, 0x41, - 0x10, 0x07, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x4f, 0x42, 0x47, 0x50, 0x10, 0x08, 0x12, 0x09, 0x0a, - 0x05, 0x4e, 0x4f, 0x4b, 0x49, 0x41, 0x10, 0x09, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x45, 0x4e, - 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x0a, 0x42, 0x26, 0x5a, 0x24, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2f, 0x6b, 0x6e, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x6f, 0x70, 0x6f, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, + 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd8, 0x01, 0x0a, + 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, + 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x4f, 0x53, 0x54, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, + 0x41, 0x52, 0x49, 0x53, 0x54, 0x41, 0x5f, 0x43, 0x45, 0x4f, 0x53, 0x10, 0x02, 0x12, 0x10, 0x0a, + 0x0c, 0x4a, 0x55, 0x4e, 0x49, 0x50, 0x45, 0x52, 0x5f, 0x43, 0x45, 0x56, 0x4f, 0x10, 0x03, 0x12, + 0x0d, 0x0a, 0x09, 0x43, 0x49, 0x53, 0x43, 0x4f, 0x5f, 0x43, 0x58, 0x52, 0x10, 0x04, 0x12, 0x0a, + 0x0a, 0x06, 0x51, 0x55, 0x41, 0x47, 0x47, 0x41, 0x10, 0x05, 0x12, 0x07, 0x0a, 0x03, 0x46, 0x52, + 0x52, 0x10, 0x06, 0x12, 0x0f, 0x0a, 0x0b, 0x4a, 0x55, 0x4e, 0x49, 0x50, 0x45, 0x52, 0x5f, 0x56, + 0x4d, 0x58, 0x10, 0x07, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x49, 0x53, 0x43, 0x4f, 0x5f, 0x43, 0x53, + 0x52, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x4b, 0x49, 0x41, 0x5f, 0x53, 0x52, 0x4c, + 0x10, 0x09, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x58, 0x49, 0x41, 0x5f, 0x54, 0x47, 0x10, 0x0a, 0x12, + 0x09, 0x0a, 0x05, 0x47, 0x4f, 0x42, 0x47, 0x50, 0x10, 0x0b, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x49, + 0x53, 0x43, 0x4f, 0x5f, 0x58, 0x52, 0x44, 0x10, 0x0c, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x49, 0x53, + 0x43, 0x4f, 0x5f, 0x45, 0x38, 0x30, 0x30, 0x30, 0x10, 0x0d, 0x12, 0x0b, 0x0a, 0x07, 0x4c, 0x45, + 0x4d, 0x4d, 0x49, 0x4e, 0x47, 0x10, 0x0e, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0x60, 0x0a, + 0x0e, 0x48, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, + 0x40, 0x0a, 0x11, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, + 0x61, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x74, 0x6f, 0x70, + 0x6f, 0x2e, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x48, 0x00, 0x52, + 0x10, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, + 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x22, + 0x74, 0x0a, 0x0b, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, + 0x74, 0x65, 0x67, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x6f, + 0x70, 0x6f, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, + 0x72, 0x48, 0x00, 0x52, 0x0e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x65, + 0x67, 0x65, 0x72, 0x42, 0x10, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x4a, 0x0a, 0x0e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, + 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x22, 0xb5, 0x01, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, + 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x74, 0x75, + 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, + 0x0d, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x65, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, + 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x5e, 0x0a, 0x04, 0x4c, 0x69, 0x6e, + 0x6b, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x61, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x13, 0x0a, 0x05, 0x61, 0x5f, 0x69, 0x6e, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x49, 0x6e, 0x74, 0x12, 0x15, 0x0a, + 0x06, 0x7a, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x7a, + 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x13, 0x0a, 0x05, 0x7a, 0x5f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x7a, 0x49, 0x6e, 0x74, 0x22, 0xe5, 0x03, 0x0a, 0x06, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, + 0x67, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x45, 0x6e, 0x76, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x65, 0x6e, + 0x76, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x43, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x6c, 0x65, 0x65, + 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x6c, 0x65, 0x65, 0x70, 0x12, 0x28, + 0x0a, 0x04, 0x63, 0x65, 0x72, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, + 0x6f, 0x70, 0x6f, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, + 0x66, 0x67, 0x52, 0x04, 0x63, 0x65, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x65, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, + 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x66, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, + 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x69, 0x74, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0a, + 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x36, 0x0a, 0x08, 0x45, 0x6e, + 0x76, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x22, 0x56, 0x0a, 0x0e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x43, 0x66, 0x67, 0x12, 0x3a, 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x2e, + 0x53, 0x65, 0x6c, 0x66, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x43, 0x65, 0x72, 0x74, 0x43, 0x66, + 0x67, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x65, 0x6c, 0x66, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, + 0x08, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x87, 0x01, 0x0a, 0x11, 0x53, 0x65, + 0x6c, 0x66, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x43, 0x65, 0x72, 0x74, 0x43, 0x66, 0x67, 0x12, + 0x1b, 0x0a, 0x09, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x63, 0x65, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, + 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x6b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, + 0x61, 0x6d, 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, + 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6f, 0x75, + 0x74, 0x73, 0x69, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, + 0x5f, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x73, 0x69, + 0x64, 0x65, 0x49, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x5f, 0x69, + 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x49, + 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x2a, 0x8c, + 0x01, 0x0a, 0x06, 0x56, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, + 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x4f, 0x53, 0x54, 0x10, 0x01, + 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x52, 0x49, 0x53, 0x54, 0x41, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, + 0x43, 0x49, 0x53, 0x43, 0x4f, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x4a, 0x55, 0x4e, 0x49, 0x50, + 0x45, 0x52, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x4b, 0x45, 0x59, 0x53, 0x49, 0x47, 0x48, 0x54, + 0x10, 0x05, 0x12, 0x07, 0x0a, 0x03, 0x46, 0x52, 0x52, 0x10, 0x06, 0x12, 0x0a, 0x0a, 0x06, 0x51, + 0x55, 0x41, 0x47, 0x47, 0x41, 0x10, 0x07, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x4f, 0x42, 0x47, 0x50, + 0x10, 0x08, 0x12, 0x09, 0x0a, 0x05, 0x4e, 0x4f, 0x4b, 0x49, 0x41, 0x10, 0x09, 0x12, 0x0e, 0x0a, + 0x0a, 0x4f, 0x50, 0x45, 0x4e, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x0a, 0x42, 0x26, 0x5a, + 0x24, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6b, 0x6e, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2f, 0x74, 0x6f, 0x70, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1164,46 +1398,52 @@ func file_topo_proto_rawDescGZIP() []byte { } var file_topo_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_topo_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_topo_proto_msgTypes = make([]protoimpl.MessageInfo, 16) var file_topo_proto_goTypes = []interface{}{ (Vendor)(0), // 0: topo.Vendor (Node_Type)(0), // 1: topo.Node.Type (*Topology)(nil), // 2: topo.Topology (*Node)(nil), // 3: topo.Node - (*Interface)(nil), // 4: topo.Interface - (*Link)(nil), // 5: topo.Link - (*Config)(nil), // 6: topo.Config - (*CertificateCfg)(nil), // 7: topo.CertificateCfg - (*SelfSignedCertCfg)(nil), // 8: topo.SelfSignedCertCfg - (*Service)(nil), // 9: topo.Service - nil, // 10: topo.Node.LabelsEntry - nil, // 11: topo.Node.ServicesEntry - nil, // 12: topo.Node.ConstraintsEntry - nil, // 13: topo.Node.InterfacesEntry - nil, // 14: topo.Config.EnvEntry - (*anypb.Any)(nil), // 15: google.protobuf.Any + (*HostConstraint)(nil), // 4: topo.HostConstraint + (*KernelParam)(nil), // 5: topo.KernelParam + (*BoundedInteger)(nil), // 6: topo.BoundedInteger + (*Interface)(nil), // 7: topo.Interface + (*Link)(nil), // 8: topo.Link + (*Config)(nil), // 9: topo.Config + (*CertificateCfg)(nil), // 10: topo.CertificateCfg + (*SelfSignedCertCfg)(nil), // 11: topo.SelfSignedCertCfg + (*Service)(nil), // 12: topo.Service + nil, // 13: topo.Node.LabelsEntry + nil, // 14: topo.Node.ServicesEntry + nil, // 15: topo.Node.ConstraintsEntry + nil, // 16: topo.Node.InterfacesEntry + nil, // 17: topo.Config.EnvEntry + (*anypb.Any)(nil), // 18: google.protobuf.Any } var file_topo_proto_depIdxs = []int32{ 3, // 0: topo.Topology.nodes:type_name -> topo.Node - 5, // 1: topo.Topology.links:type_name -> topo.Link + 8, // 1: topo.Topology.links:type_name -> topo.Link 1, // 2: topo.Node.type:type_name -> topo.Node.Type - 10, // 3: topo.Node.labels:type_name -> topo.Node.LabelsEntry - 6, // 4: topo.Node.config:type_name -> topo.Config - 11, // 5: topo.Node.services:type_name -> topo.Node.ServicesEntry - 12, // 6: topo.Node.constraints:type_name -> topo.Node.ConstraintsEntry + 13, // 3: topo.Node.labels:type_name -> topo.Node.LabelsEntry + 9, // 4: topo.Node.config:type_name -> topo.Config + 14, // 5: topo.Node.services:type_name -> topo.Node.ServicesEntry + 15, // 6: topo.Node.constraints:type_name -> topo.Node.ConstraintsEntry 0, // 7: topo.Node.vendor:type_name -> topo.Vendor - 13, // 8: topo.Node.interfaces:type_name -> topo.Node.InterfacesEntry - 14, // 9: topo.Config.env:type_name -> topo.Config.EnvEntry - 7, // 10: topo.Config.cert:type_name -> topo.CertificateCfg - 15, // 11: topo.Config.vendor_data:type_name -> google.protobuf.Any - 8, // 12: topo.CertificateCfg.self_signed:type_name -> topo.SelfSignedCertCfg - 9, // 13: topo.Node.ServicesEntry.value:type_name -> topo.Service - 4, // 14: topo.Node.InterfacesEntry.value:type_name -> topo.Interface - 15, // [15:15] is the sub-list for method output_type - 15, // [15:15] is the sub-list for method input_type - 15, // [15:15] is the sub-list for extension type_name - 15, // [15:15] is the sub-list for extension extendee - 0, // [0:15] is the sub-list for field type_name + 16, // 8: topo.Node.interfaces:type_name -> topo.Node.InterfacesEntry + 4, // 9: topo.Node.host_constraints:type_name -> topo.HostConstraint + 5, // 10: topo.HostConstraint.kernel_constraint:type_name -> topo.KernelParam + 6, // 11: topo.KernelParam.bounded_integer:type_name -> topo.BoundedInteger + 17, // 12: topo.Config.env:type_name -> topo.Config.EnvEntry + 10, // 13: topo.Config.cert:type_name -> topo.CertificateCfg + 18, // 14: topo.Config.vendor_data:type_name -> google.protobuf.Any + 11, // 15: topo.CertificateCfg.self_signed:type_name -> topo.SelfSignedCertCfg + 12, // 16: topo.Node.ServicesEntry.value:type_name -> topo.Service + 7, // 17: topo.Node.InterfacesEntry.value:type_name -> topo.Interface + 18, // [18:18] is the sub-list for method output_type + 18, // [18:18] 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_topo_proto_init() } @@ -1237,7 +1477,7 @@ func file_topo_proto_init() { } } file_topo_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Interface); i { + switch v := v.(*HostConstraint); i { case 0: return &v.state case 1: @@ -1249,7 +1489,7 @@ func file_topo_proto_init() { } } file_topo_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Link); i { + switch v := v.(*KernelParam); i { case 0: return &v.state case 1: @@ -1261,7 +1501,7 @@ func file_topo_proto_init() { } } file_topo_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Config); i { + switch v := v.(*BoundedInteger); i { case 0: return &v.state case 1: @@ -1273,7 +1513,7 @@ func file_topo_proto_init() { } } file_topo_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CertificateCfg); i { + switch v := v.(*Interface); i { case 0: return &v.state case 1: @@ -1285,7 +1525,7 @@ func file_topo_proto_init() { } } file_topo_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SelfSignedCertCfg); i { + switch v := v.(*Link); i { case 0: return &v.state case 1: @@ -1297,6 +1537,42 @@ func file_topo_proto_init() { } } file_topo_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_topo_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CertificateCfg); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_topo_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SelfSignedCertCfg); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_topo_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Service); i { case 0: return &v.state @@ -1309,11 +1585,17 @@ func file_topo_proto_init() { } } } - file_topo_proto_msgTypes[4].OneofWrappers = []interface{}{ + file_topo_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*HostConstraint_KernelConstraint)(nil), + } + file_topo_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*KernelParam_BoundedInteger)(nil), + } + file_topo_proto_msgTypes[7].OneofWrappers = []interface{}{ (*Config_Data)(nil), (*Config_File)(nil), } - file_topo_proto_msgTypes[5].OneofWrappers = []interface{}{ + file_topo_proto_msgTypes[8].OneofWrappers = []interface{}{ (*CertificateCfg_SelfSigned)(nil), } type x struct{} @@ -1322,7 +1604,7 @@ func file_topo_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_topo_proto_rawDesc, NumEnums: 2, - NumMessages: 13, + NumMessages: 16, NumExtensions: 0, NumServices: 0, },