Files
netbird/shared/management/proto/management.pb.go
2026-05-18 18:08:20 +02:00

4999 lines
151 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.6
// protoc v6.33.1
// source: management.proto
package proto
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
durationpb "google.golang.org/protobuf/types/known/durationpb"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
reflect "reflect"
sync "sync"
unsafe "unsafe"
)
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 JobStatus int32
const (
JobStatus_unknown_status JobStatus = 0 //placeholder
JobStatus_succeeded JobStatus = 1
JobStatus_failed JobStatus = 2
)
// Enum value maps for JobStatus.
var (
JobStatus_name = map[int32]string{
0: "unknown_status",
1: "succeeded",
2: "failed",
}
JobStatus_value = map[string]int32{
"unknown_status": 0,
"succeeded": 1,
"failed": 2,
}
)
func (x JobStatus) Enum() *JobStatus {
p := new(JobStatus)
*p = x
return p
}
func (x JobStatus) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (JobStatus) Descriptor() protoreflect.EnumDescriptor {
return file_management_proto_enumTypes[0].Descriptor()
}
func (JobStatus) Type() protoreflect.EnumType {
return &file_management_proto_enumTypes[0]
}
func (x JobStatus) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use JobStatus.Descriptor instead.
func (JobStatus) EnumDescriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{0}
}
// PeerCapability represents a feature the client binary supports.
// Reported in PeerSystemMeta.capabilities on every login/sync.
type PeerCapability int32
const (
PeerCapability_PeerCapabilityUnknown PeerCapability = 0
// Client reads SourcePrefixes instead of the deprecated PeerIP string.
PeerCapability_PeerCapabilitySourcePrefixes PeerCapability = 1
// Client handles IPv6 overlay addresses and firewall rules.
PeerCapability_PeerCapabilityIPv6Overlay PeerCapability = 2
)
// Enum value maps for PeerCapability.
var (
PeerCapability_name = map[int32]string{
0: "PeerCapabilityUnknown",
1: "PeerCapabilitySourcePrefixes",
2: "PeerCapabilityIPv6Overlay",
}
PeerCapability_value = map[string]int32{
"PeerCapabilityUnknown": 0,
"PeerCapabilitySourcePrefixes": 1,
"PeerCapabilityIPv6Overlay": 2,
}
)
func (x PeerCapability) Enum() *PeerCapability {
p := new(PeerCapability)
*p = x
return p
}
func (x PeerCapability) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (PeerCapability) Descriptor() protoreflect.EnumDescriptor {
return file_management_proto_enumTypes[1].Descriptor()
}
func (PeerCapability) Type() protoreflect.EnumType {
return &file_management_proto_enumTypes[1]
}
func (x PeerCapability) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use PeerCapability.Descriptor instead.
func (PeerCapability) EnumDescriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{1}
}
type RuleProtocol int32
const (
RuleProtocol_UNKNOWN RuleProtocol = 0
RuleProtocol_ALL RuleProtocol = 1
RuleProtocol_TCP RuleProtocol = 2
RuleProtocol_UDP RuleProtocol = 3
RuleProtocol_ICMP RuleProtocol = 4
RuleProtocol_CUSTOM RuleProtocol = 5
)
// Enum value maps for RuleProtocol.
var (
RuleProtocol_name = map[int32]string{
0: "UNKNOWN",
1: "ALL",
2: "TCP",
3: "UDP",
4: "ICMP",
5: "CUSTOM",
}
RuleProtocol_value = map[string]int32{
"UNKNOWN": 0,
"ALL": 1,
"TCP": 2,
"UDP": 3,
"ICMP": 4,
"CUSTOM": 5,
}
)
func (x RuleProtocol) Enum() *RuleProtocol {
p := new(RuleProtocol)
*p = x
return p
}
func (x RuleProtocol) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (RuleProtocol) Descriptor() protoreflect.EnumDescriptor {
return file_management_proto_enumTypes[2].Descriptor()
}
func (RuleProtocol) Type() protoreflect.EnumType {
return &file_management_proto_enumTypes[2]
}
func (x RuleProtocol) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use RuleProtocol.Descriptor instead.
func (RuleProtocol) EnumDescriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{2}
}
type RuleDirection int32
const (
RuleDirection_IN RuleDirection = 0
RuleDirection_OUT RuleDirection = 1
)
// Enum value maps for RuleDirection.
var (
RuleDirection_name = map[int32]string{
0: "IN",
1: "OUT",
}
RuleDirection_value = map[string]int32{
"IN": 0,
"OUT": 1,
}
)
func (x RuleDirection) Enum() *RuleDirection {
p := new(RuleDirection)
*p = x
return p
}
func (x RuleDirection) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (RuleDirection) Descriptor() protoreflect.EnumDescriptor {
return file_management_proto_enumTypes[3].Descriptor()
}
func (RuleDirection) Type() protoreflect.EnumType {
return &file_management_proto_enumTypes[3]
}
func (x RuleDirection) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use RuleDirection.Descriptor instead.
func (RuleDirection) EnumDescriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{3}
}
type RuleAction int32
const (
RuleAction_ACCEPT RuleAction = 0
RuleAction_DROP RuleAction = 1
)
// Enum value maps for RuleAction.
var (
RuleAction_name = map[int32]string{
0: "ACCEPT",
1: "DROP",
}
RuleAction_value = map[string]int32{
"ACCEPT": 0,
"DROP": 1,
}
)
func (x RuleAction) Enum() *RuleAction {
p := new(RuleAction)
*p = x
return p
}
func (x RuleAction) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (RuleAction) Descriptor() protoreflect.EnumDescriptor {
return file_management_proto_enumTypes[4].Descriptor()
}
func (RuleAction) Type() protoreflect.EnumType {
return &file_management_proto_enumTypes[4]
}
func (x RuleAction) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use RuleAction.Descriptor instead.
func (RuleAction) EnumDescriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{4}
}
type ExposeProtocol int32
const (
ExposeProtocol_EXPOSE_HTTP ExposeProtocol = 0
ExposeProtocol_EXPOSE_HTTPS ExposeProtocol = 1
ExposeProtocol_EXPOSE_TCP ExposeProtocol = 2
ExposeProtocol_EXPOSE_UDP ExposeProtocol = 3
ExposeProtocol_EXPOSE_TLS ExposeProtocol = 4
)
// Enum value maps for ExposeProtocol.
var (
ExposeProtocol_name = map[int32]string{
0: "EXPOSE_HTTP",
1: "EXPOSE_HTTPS",
2: "EXPOSE_TCP",
3: "EXPOSE_UDP",
4: "EXPOSE_TLS",
}
ExposeProtocol_value = map[string]int32{
"EXPOSE_HTTP": 0,
"EXPOSE_HTTPS": 1,
"EXPOSE_TCP": 2,
"EXPOSE_UDP": 3,
"EXPOSE_TLS": 4,
}
)
func (x ExposeProtocol) Enum() *ExposeProtocol {
p := new(ExposeProtocol)
*p = x
return p
}
func (x ExposeProtocol) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ExposeProtocol) Descriptor() protoreflect.EnumDescriptor {
return file_management_proto_enumTypes[5].Descriptor()
}
func (ExposeProtocol) Type() protoreflect.EnumType {
return &file_management_proto_enumTypes[5]
}
func (x ExposeProtocol) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ExposeProtocol.Descriptor instead.
func (ExposeProtocol) EnumDescriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{5}
}
type HostConfig_Protocol int32
const (
HostConfig_UDP HostConfig_Protocol = 0
HostConfig_TCP HostConfig_Protocol = 1
HostConfig_HTTP HostConfig_Protocol = 2
HostConfig_HTTPS HostConfig_Protocol = 3
HostConfig_DTLS HostConfig_Protocol = 4
)
// Enum value maps for HostConfig_Protocol.
var (
HostConfig_Protocol_name = map[int32]string{
0: "UDP",
1: "TCP",
2: "HTTP",
3: "HTTPS",
4: "DTLS",
}
HostConfig_Protocol_value = map[string]int32{
"UDP": 0,
"TCP": 1,
"HTTP": 2,
"HTTPS": 3,
"DTLS": 4,
}
)
func (x HostConfig_Protocol) Enum() *HostConfig_Protocol {
p := new(HostConfig_Protocol)
*p = x
return p
}
func (x HostConfig_Protocol) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (HostConfig_Protocol) Descriptor() protoreflect.EnumDescriptor {
return file_management_proto_enumTypes[6].Descriptor()
}
func (HostConfig_Protocol) Type() protoreflect.EnumType {
return &file_management_proto_enumTypes[6]
}
func (x HostConfig_Protocol) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use HostConfig_Protocol.Descriptor instead.
func (HostConfig_Protocol) EnumDescriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{18, 0}
}
type DeviceAuthorizationFlowProvider int32
const (
DeviceAuthorizationFlow_HOSTED DeviceAuthorizationFlowProvider = 0
)
// Enum value maps for DeviceAuthorizationFlowProvider.
var (
DeviceAuthorizationFlowProvider_name = map[int32]string{
0: "HOSTED",
}
DeviceAuthorizationFlowProvider_value = map[string]int32{
"HOSTED": 0,
}
)
func (x DeviceAuthorizationFlowProvider) Enum() *DeviceAuthorizationFlowProvider {
p := new(DeviceAuthorizationFlowProvider)
*p = x
return p
}
func (x DeviceAuthorizationFlowProvider) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (DeviceAuthorizationFlowProvider) Descriptor() protoreflect.EnumDescriptor {
return file_management_proto_enumTypes[7].Descriptor()
}
func (DeviceAuthorizationFlowProvider) Type() protoreflect.EnumType {
return &file_management_proto_enumTypes[7]
}
func (x DeviceAuthorizationFlowProvider) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use DeviceAuthorizationFlowProvider.Descriptor instead.
func (DeviceAuthorizationFlowProvider) EnumDescriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{31, 0}
}
type EncryptedMessage struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Wireguard public key
WgPubKey string `protobuf:"bytes,1,opt,name=wgPubKey,proto3" json:"wgPubKey,omitempty"`
// encrypted message Body
Body []byte `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"`
// Version of the Netbird Management Service protocol
Version int32 `protobuf:"varint,3,opt,name=version,proto3" json:"version,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *EncryptedMessage) Reset() {
*x = EncryptedMessage{}
mi := &file_management_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *EncryptedMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EncryptedMessage) ProtoMessage() {}
func (x *EncryptedMessage) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use EncryptedMessage.ProtoReflect.Descriptor instead.
func (*EncryptedMessage) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{0}
}
func (x *EncryptedMessage) GetWgPubKey() string {
if x != nil {
return x.WgPubKey
}
return ""
}
func (x *EncryptedMessage) GetBody() []byte {
if x != nil {
return x.Body
}
return nil
}
func (x *EncryptedMessage) GetVersion() int32 {
if x != nil {
return x.Version
}
return 0
}
type JobRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
ID []byte `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"`
// Types that are valid to be assigned to WorkloadParameters:
//
// *JobRequest_Bundle
WorkloadParameters isJobRequest_WorkloadParameters `protobuf_oneof:"workload_parameters"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *JobRequest) Reset() {
*x = JobRequest{}
mi := &file_management_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *JobRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*JobRequest) ProtoMessage() {}
func (x *JobRequest) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use JobRequest.ProtoReflect.Descriptor instead.
func (*JobRequest) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{1}
}
func (x *JobRequest) GetID() []byte {
if x != nil {
return x.ID
}
return nil
}
func (x *JobRequest) GetWorkloadParameters() isJobRequest_WorkloadParameters {
if x != nil {
return x.WorkloadParameters
}
return nil
}
func (x *JobRequest) GetBundle() *BundleParameters {
if x != nil {
if x, ok := x.WorkloadParameters.(*JobRequest_Bundle); ok {
return x.Bundle
}
}
return nil
}
type isJobRequest_WorkloadParameters interface {
isJobRequest_WorkloadParameters()
}
type JobRequest_Bundle struct {
Bundle *BundleParameters `protobuf:"bytes,10,opt,name=bundle,proto3,oneof"` //OtherParameters other = 11;
}
func (*JobRequest_Bundle) isJobRequest_WorkloadParameters() {}
type JobResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
ID []byte `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"`
Status JobStatus `protobuf:"varint,2,opt,name=status,proto3,enum=management.JobStatus" json:"status,omitempty"`
Reason []byte `protobuf:"bytes,3,opt,name=Reason,proto3" json:"Reason,omitempty"`
// Types that are valid to be assigned to WorkloadResults:
//
// *JobResponse_Bundle
WorkloadResults isJobResponse_WorkloadResults `protobuf_oneof:"workload_results"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *JobResponse) Reset() {
*x = JobResponse{}
mi := &file_management_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *JobResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*JobResponse) ProtoMessage() {}
func (x *JobResponse) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use JobResponse.ProtoReflect.Descriptor instead.
func (*JobResponse) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{2}
}
func (x *JobResponse) GetID() []byte {
if x != nil {
return x.ID
}
return nil
}
func (x *JobResponse) GetStatus() JobStatus {
if x != nil {
return x.Status
}
return JobStatus_unknown_status
}
func (x *JobResponse) GetReason() []byte {
if x != nil {
return x.Reason
}
return nil
}
func (x *JobResponse) GetWorkloadResults() isJobResponse_WorkloadResults {
if x != nil {
return x.WorkloadResults
}
return nil
}
func (x *JobResponse) GetBundle() *BundleResult {
if x != nil {
if x, ok := x.WorkloadResults.(*JobResponse_Bundle); ok {
return x.Bundle
}
}
return nil
}
type isJobResponse_WorkloadResults interface {
isJobResponse_WorkloadResults()
}
type JobResponse_Bundle struct {
Bundle *BundleResult `protobuf:"bytes,10,opt,name=bundle,proto3,oneof"` //OtherResult other = 11;
}
func (*JobResponse_Bundle) isJobResponse_WorkloadResults() {}
type BundleParameters struct {
state protoimpl.MessageState `protogen:"open.v1"`
BundleFor bool `protobuf:"varint,1,opt,name=bundle_for,json=bundleFor,proto3" json:"bundle_for,omitempty"`
BundleForTime int64 `protobuf:"varint,2,opt,name=bundle_for_time,json=bundleForTime,proto3" json:"bundle_for_time,omitempty"`
LogFileCount int32 `protobuf:"varint,3,opt,name=log_file_count,json=logFileCount,proto3" json:"log_file_count,omitempty"`
Anonymize bool `protobuf:"varint,4,opt,name=anonymize,proto3" json:"anonymize,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *BundleParameters) Reset() {
*x = BundleParameters{}
mi := &file_management_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *BundleParameters) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BundleParameters) ProtoMessage() {}
func (x *BundleParameters) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BundleParameters.ProtoReflect.Descriptor instead.
func (*BundleParameters) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{3}
}
func (x *BundleParameters) GetBundleFor() bool {
if x != nil {
return x.BundleFor
}
return false
}
func (x *BundleParameters) GetBundleForTime() int64 {
if x != nil {
return x.BundleForTime
}
return 0
}
func (x *BundleParameters) GetLogFileCount() int32 {
if x != nil {
return x.LogFileCount
}
return 0
}
func (x *BundleParameters) GetAnonymize() bool {
if x != nil {
return x.Anonymize
}
return false
}
type BundleResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
UploadKey string `protobuf:"bytes,1,opt,name=upload_key,json=uploadKey,proto3" json:"upload_key,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *BundleResult) Reset() {
*x = BundleResult{}
mi := &file_management_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *BundleResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BundleResult) ProtoMessage() {}
func (x *BundleResult) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BundleResult.ProtoReflect.Descriptor instead.
func (*BundleResult) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{4}
}
func (x *BundleResult) GetUploadKey() string {
if x != nil {
return x.UploadKey
}
return ""
}
type SyncRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Meta data of the peer
Meta *PeerSystemMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SyncRequest) Reset() {
*x = SyncRequest{}
mi := &file_management_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SyncRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncRequest) ProtoMessage() {}
func (x *SyncRequest) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncRequest.ProtoReflect.Descriptor instead.
func (*SyncRequest) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{5}
}
func (x *SyncRequest) GetMeta() *PeerSystemMeta {
if x != nil {
return x.Meta
}
return nil
}
// SyncResponse represents a state that should be applied to the local peer (e.g. Netbird servers config as well as local peer and remote peers configs)
type SyncResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Global config
NetbirdConfig *NetbirdConfig `protobuf:"bytes,1,opt,name=netbirdConfig,proto3" json:"netbirdConfig,omitempty"`
// Deprecated. Use NetworkMap.PeerConfig
PeerConfig *PeerConfig `protobuf:"bytes,2,opt,name=peerConfig,proto3" json:"peerConfig,omitempty"`
// Deprecated. Use NetworkMap.RemotePeerConfig
RemotePeers []*RemotePeerConfig `protobuf:"bytes,3,rep,name=remotePeers,proto3" json:"remotePeers,omitempty"`
// Indicates whether remotePeers array is empty or not to bypass protobuf null and empty array equality.
// Deprecated. Use NetworkMap.remotePeersIsEmpty
RemotePeersIsEmpty bool `protobuf:"varint,4,opt,name=remotePeersIsEmpty,proto3" json:"remotePeersIsEmpty,omitempty"`
NetworkMap *NetworkMap `protobuf:"bytes,5,opt,name=NetworkMap,proto3" json:"NetworkMap,omitempty"`
// Posture checks to be evaluated by client
Checks []*Checks `protobuf:"bytes,6,rep,name=Checks,proto3" json:"Checks,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SyncResponse) Reset() {
*x = SyncResponse{}
mi := &file_management_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SyncResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncResponse) ProtoMessage() {}
func (x *SyncResponse) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[6]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncResponse.ProtoReflect.Descriptor instead.
func (*SyncResponse) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{6}
}
func (x *SyncResponse) GetNetbirdConfig() *NetbirdConfig {
if x != nil {
return x.NetbirdConfig
}
return nil
}
func (x *SyncResponse) GetPeerConfig() *PeerConfig {
if x != nil {
return x.PeerConfig
}
return nil
}
func (x *SyncResponse) GetRemotePeers() []*RemotePeerConfig {
if x != nil {
return x.RemotePeers
}
return nil
}
func (x *SyncResponse) GetRemotePeersIsEmpty() bool {
if x != nil {
return x.RemotePeersIsEmpty
}
return false
}
func (x *SyncResponse) GetNetworkMap() *NetworkMap {
if x != nil {
return x.NetworkMap
}
return nil
}
func (x *SyncResponse) GetChecks() []*Checks {
if x != nil {
return x.Checks
}
return nil
}
type SyncMetaRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Meta data of the peer
Meta *PeerSystemMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SyncMetaRequest) Reset() {
*x = SyncMetaRequest{}
mi := &file_management_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SyncMetaRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncMetaRequest) ProtoMessage() {}
func (x *SyncMetaRequest) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[7]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncMetaRequest.ProtoReflect.Descriptor instead.
func (*SyncMetaRequest) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{7}
}
func (x *SyncMetaRequest) GetMeta() *PeerSystemMeta {
if x != nil {
return x.Meta
}
return nil
}
type LoginRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Pre-authorized setup key (can be empty)
SetupKey string `protobuf:"bytes,1,opt,name=setupKey,proto3" json:"setupKey,omitempty"`
// Meta data of the peer (e.g. name, os_name, os_version,
Meta *PeerSystemMeta `protobuf:"bytes,2,opt,name=meta,proto3" json:"meta,omitempty"`
// SSO token (can be empty)
JwtToken string `protobuf:"bytes,3,opt,name=jwtToken,proto3" json:"jwtToken,omitempty"`
// Can be absent for now.
PeerKeys *PeerKeys `protobuf:"bytes,4,opt,name=peerKeys,proto3" json:"peerKeys,omitempty"`
DnsLabels []string `protobuf:"bytes,5,rep,name=dnsLabels,proto3" json:"dnsLabels,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LoginRequest) Reset() {
*x = LoginRequest{}
mi := &file_management_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LoginRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LoginRequest) ProtoMessage() {}
func (x *LoginRequest) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[8]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LoginRequest.ProtoReflect.Descriptor instead.
func (*LoginRequest) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{8}
}
func (x *LoginRequest) GetSetupKey() string {
if x != nil {
return x.SetupKey
}
return ""
}
func (x *LoginRequest) GetMeta() *PeerSystemMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *LoginRequest) GetJwtToken() string {
if x != nil {
return x.JwtToken
}
return ""
}
func (x *LoginRequest) GetPeerKeys() *PeerKeys {
if x != nil {
return x.PeerKeys
}
return nil
}
func (x *LoginRequest) GetDnsLabels() []string {
if x != nil {
return x.DnsLabels
}
return nil
}
// PeerKeys is additional peer info like SSH pub key and WireGuard public key.
// This message is sent on Login or register requests, or when a key rotation has to happen.
type PeerKeys struct {
state protoimpl.MessageState `protogen:"open.v1"`
// sshPubKey represents a public SSH key of the peer. Can be absent.
SshPubKey []byte `protobuf:"bytes,1,opt,name=sshPubKey,proto3" json:"sshPubKey,omitempty"`
// wgPubKey represents a public WireGuard key of the peer. Can be absent.
WgPubKey []byte `protobuf:"bytes,2,opt,name=wgPubKey,proto3" json:"wgPubKey,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PeerKeys) Reset() {
*x = PeerKeys{}
mi := &file_management_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PeerKeys) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PeerKeys) ProtoMessage() {}
func (x *PeerKeys) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[9]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PeerKeys.ProtoReflect.Descriptor instead.
func (*PeerKeys) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{9}
}
func (x *PeerKeys) GetSshPubKey() []byte {
if x != nil {
return x.SshPubKey
}
return nil
}
func (x *PeerKeys) GetWgPubKey() []byte {
if x != nil {
return x.WgPubKey
}
return nil
}
// Environment is part of the PeerSystemMeta and describes the environment the agent is running in.
type Environment struct {
state protoimpl.MessageState `protogen:"open.v1"`
// cloud is the cloud provider the agent is running in if applicable.
Cloud string `protobuf:"bytes,1,opt,name=cloud,proto3" json:"cloud,omitempty"`
// platform is the platform the agent is running on if applicable.
Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Environment) Reset() {
*x = Environment{}
mi := &file_management_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Environment) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Environment) ProtoMessage() {}
func (x *Environment) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[10]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Environment.ProtoReflect.Descriptor instead.
func (*Environment) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{10}
}
func (x *Environment) GetCloud() string {
if x != nil {
return x.Cloud
}
return ""
}
func (x *Environment) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
// File represents a file on the system.
type File struct {
state protoimpl.MessageState `protogen:"open.v1"`
// path is the path to the file.
Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
// exist indicate whether the file exists.
Exist bool `protobuf:"varint,2,opt,name=exist,proto3" json:"exist,omitempty"`
// processIsRunning indicates whether the file is a running process or not.
ProcessIsRunning bool `protobuf:"varint,3,opt,name=processIsRunning,proto3" json:"processIsRunning,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *File) Reset() {
*x = File{}
mi := &file_management_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *File) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*File) ProtoMessage() {}
func (x *File) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[11]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use File.ProtoReflect.Descriptor instead.
func (*File) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{11}
}
func (x *File) GetPath() string {
if x != nil {
return x.Path
}
return ""
}
func (x *File) GetExist() bool {
if x != nil {
return x.Exist
}
return false
}
func (x *File) GetProcessIsRunning() bool {
if x != nil {
return x.ProcessIsRunning
}
return false
}
type Flags struct {
state protoimpl.MessageState `protogen:"open.v1"`
RosenpassEnabled bool `protobuf:"varint,1,opt,name=rosenpassEnabled,proto3" json:"rosenpassEnabled,omitempty"`
RosenpassPermissive bool `protobuf:"varint,2,opt,name=rosenpassPermissive,proto3" json:"rosenpassPermissive,omitempty"`
ServerSSHAllowed bool `protobuf:"varint,3,opt,name=serverSSHAllowed,proto3" json:"serverSSHAllowed,omitempty"`
DisableClientRoutes bool `protobuf:"varint,4,opt,name=disableClientRoutes,proto3" json:"disableClientRoutes,omitempty"`
DisableServerRoutes bool `protobuf:"varint,5,opt,name=disableServerRoutes,proto3" json:"disableServerRoutes,omitempty"`
DisableDNS bool `protobuf:"varint,6,opt,name=disableDNS,proto3" json:"disableDNS,omitempty"`
DisableFirewall bool `protobuf:"varint,7,opt,name=disableFirewall,proto3" json:"disableFirewall,omitempty"`
BlockLANAccess bool `protobuf:"varint,8,opt,name=blockLANAccess,proto3" json:"blockLANAccess,omitempty"`
BlockInbound bool `protobuf:"varint,9,opt,name=blockInbound,proto3" json:"blockInbound,omitempty"`
LazyConnectionEnabled bool `protobuf:"varint,10,opt,name=lazyConnectionEnabled,proto3" json:"lazyConnectionEnabled,omitempty"`
EnableSSHRoot bool `protobuf:"varint,11,opt,name=enableSSHRoot,proto3" json:"enableSSHRoot,omitempty"`
EnableSSHSFTP bool `protobuf:"varint,12,opt,name=enableSSHSFTP,proto3" json:"enableSSHSFTP,omitempty"`
EnableSSHLocalPortForwarding bool `protobuf:"varint,13,opt,name=enableSSHLocalPortForwarding,proto3" json:"enableSSHLocalPortForwarding,omitempty"`
EnableSSHRemotePortForwarding bool `protobuf:"varint,14,opt,name=enableSSHRemotePortForwarding,proto3" json:"enableSSHRemotePortForwarding,omitempty"`
DisableSSHAuth bool `protobuf:"varint,15,opt,name=disableSSHAuth,proto3" json:"disableSSHAuth,omitempty"`
DisableIPv6 bool `protobuf:"varint,16,opt,name=disableIPv6,proto3" json:"disableIPv6,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Flags) Reset() {
*x = Flags{}
mi := &file_management_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Flags) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Flags) ProtoMessage() {}
func (x *Flags) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[12]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Flags.ProtoReflect.Descriptor instead.
func (*Flags) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{12}
}
func (x *Flags) GetRosenpassEnabled() bool {
if x != nil {
return x.RosenpassEnabled
}
return false
}
func (x *Flags) GetRosenpassPermissive() bool {
if x != nil {
return x.RosenpassPermissive
}
return false
}
func (x *Flags) GetServerSSHAllowed() bool {
if x != nil {
return x.ServerSSHAllowed
}
return false
}
func (x *Flags) GetDisableClientRoutes() bool {
if x != nil {
return x.DisableClientRoutes
}
return false
}
func (x *Flags) GetDisableServerRoutes() bool {
if x != nil {
return x.DisableServerRoutes
}
return false
}
func (x *Flags) GetDisableDNS() bool {
if x != nil {
return x.DisableDNS
}
return false
}
func (x *Flags) GetDisableFirewall() bool {
if x != nil {
return x.DisableFirewall
}
return false
}
func (x *Flags) GetBlockLANAccess() bool {
if x != nil {
return x.BlockLANAccess
}
return false
}
func (x *Flags) GetBlockInbound() bool {
if x != nil {
return x.BlockInbound
}
return false
}
func (x *Flags) GetLazyConnectionEnabled() bool {
if x != nil {
return x.LazyConnectionEnabled
}
return false
}
func (x *Flags) GetEnableSSHRoot() bool {
if x != nil {
return x.EnableSSHRoot
}
return false
}
func (x *Flags) GetEnableSSHSFTP() bool {
if x != nil {
return x.EnableSSHSFTP
}
return false
}
func (x *Flags) GetEnableSSHLocalPortForwarding() bool {
if x != nil {
return x.EnableSSHLocalPortForwarding
}
return false
}
func (x *Flags) GetEnableSSHRemotePortForwarding() bool {
if x != nil {
return x.EnableSSHRemotePortForwarding
}
return false
}
func (x *Flags) GetDisableSSHAuth() bool {
if x != nil {
return x.DisableSSHAuth
}
return false
}
func (x *Flags) GetDisableIPv6() bool {
if x != nil {
return x.DisableIPv6
}
return false
}
// PeerSystemMeta is machine meta data like OS and version.
type PeerSystemMeta struct {
state protoimpl.MessageState `protogen:"open.v1"`
Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"`
GoOS string `protobuf:"bytes,2,opt,name=goOS,proto3" json:"goOS,omitempty"`
Kernel string `protobuf:"bytes,3,opt,name=kernel,proto3" json:"kernel,omitempty"`
Core string `protobuf:"bytes,4,opt,name=core,proto3" json:"core,omitempty"`
Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform,omitempty"`
OS string `protobuf:"bytes,6,opt,name=OS,proto3" json:"OS,omitempty"`
NetbirdVersion string `protobuf:"bytes,7,opt,name=netbirdVersion,proto3" json:"netbirdVersion,omitempty"`
UiVersion string `protobuf:"bytes,8,opt,name=uiVersion,proto3" json:"uiVersion,omitempty"`
KernelVersion string `protobuf:"bytes,9,opt,name=kernelVersion,proto3" json:"kernelVersion,omitempty"`
OSVersion string `protobuf:"bytes,10,opt,name=OSVersion,proto3" json:"OSVersion,omitempty"`
NetworkAddresses []*NetworkAddress `protobuf:"bytes,11,rep,name=networkAddresses,proto3" json:"networkAddresses,omitempty"`
SysSerialNumber string `protobuf:"bytes,12,opt,name=sysSerialNumber,proto3" json:"sysSerialNumber,omitempty"`
SysProductName string `protobuf:"bytes,13,opt,name=sysProductName,proto3" json:"sysProductName,omitempty"`
SysManufacturer string `protobuf:"bytes,14,opt,name=sysManufacturer,proto3" json:"sysManufacturer,omitempty"`
Environment *Environment `protobuf:"bytes,15,opt,name=environment,proto3" json:"environment,omitempty"`
Files []*File `protobuf:"bytes,16,rep,name=files,proto3" json:"files,omitempty"`
Flags *Flags `protobuf:"bytes,17,opt,name=flags,proto3" json:"flags,omitempty"`
Capabilities []PeerCapability `protobuf:"varint,18,rep,packed,name=capabilities,proto3,enum=management.PeerCapability" json:"capabilities,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PeerSystemMeta) Reset() {
*x = PeerSystemMeta{}
mi := &file_management_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PeerSystemMeta) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PeerSystemMeta) ProtoMessage() {}
func (x *PeerSystemMeta) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[13]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PeerSystemMeta.ProtoReflect.Descriptor instead.
func (*PeerSystemMeta) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{13}
}
func (x *PeerSystemMeta) GetHostname() string {
if x != nil {
return x.Hostname
}
return ""
}
func (x *PeerSystemMeta) GetGoOS() string {
if x != nil {
return x.GoOS
}
return ""
}
func (x *PeerSystemMeta) GetKernel() string {
if x != nil {
return x.Kernel
}
return ""
}
func (x *PeerSystemMeta) GetCore() string {
if x != nil {
return x.Core
}
return ""
}
func (x *PeerSystemMeta) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *PeerSystemMeta) GetOS() string {
if x != nil {
return x.OS
}
return ""
}
func (x *PeerSystemMeta) GetNetbirdVersion() string {
if x != nil {
return x.NetbirdVersion
}
return ""
}
func (x *PeerSystemMeta) GetUiVersion() string {
if x != nil {
return x.UiVersion
}
return ""
}
func (x *PeerSystemMeta) GetKernelVersion() string {
if x != nil {
return x.KernelVersion
}
return ""
}
func (x *PeerSystemMeta) GetOSVersion() string {
if x != nil {
return x.OSVersion
}
return ""
}
func (x *PeerSystemMeta) GetNetworkAddresses() []*NetworkAddress {
if x != nil {
return x.NetworkAddresses
}
return nil
}
func (x *PeerSystemMeta) GetSysSerialNumber() string {
if x != nil {
return x.SysSerialNumber
}
return ""
}
func (x *PeerSystemMeta) GetSysProductName() string {
if x != nil {
return x.SysProductName
}
return ""
}
func (x *PeerSystemMeta) GetSysManufacturer() string {
if x != nil {
return x.SysManufacturer
}
return ""
}
func (x *PeerSystemMeta) GetEnvironment() *Environment {
if x != nil {
return x.Environment
}
return nil
}
func (x *PeerSystemMeta) GetFiles() []*File {
if x != nil {
return x.Files
}
return nil
}
func (x *PeerSystemMeta) GetFlags() *Flags {
if x != nil {
return x.Flags
}
return nil
}
func (x *PeerSystemMeta) GetCapabilities() []PeerCapability {
if x != nil {
return x.Capabilities
}
return nil
}
type LoginResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Global config
NetbirdConfig *NetbirdConfig `protobuf:"bytes,1,opt,name=netbirdConfig,proto3" json:"netbirdConfig,omitempty"`
// Peer local config
PeerConfig *PeerConfig `protobuf:"bytes,2,opt,name=peerConfig,proto3" json:"peerConfig,omitempty"`
// Posture checks to be evaluated by client
Checks []*Checks `protobuf:"bytes,3,rep,name=Checks,proto3" json:"Checks,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LoginResponse) Reset() {
*x = LoginResponse{}
mi := &file_management_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LoginResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LoginResponse) ProtoMessage() {}
func (x *LoginResponse) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[14]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LoginResponse.ProtoReflect.Descriptor instead.
func (*LoginResponse) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{14}
}
func (x *LoginResponse) GetNetbirdConfig() *NetbirdConfig {
if x != nil {
return x.NetbirdConfig
}
return nil
}
func (x *LoginResponse) GetPeerConfig() *PeerConfig {
if x != nil {
return x.PeerConfig
}
return nil
}
func (x *LoginResponse) GetChecks() []*Checks {
if x != nil {
return x.Checks
}
return nil
}
type ServerKeyResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Server's Wireguard public key
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
// Key expiration timestamp after which the key should be fetched again by the client
ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=expiresAt,proto3" json:"expiresAt,omitempty"`
// Version of the Netbird Management Service protocol
Version int32 `protobuf:"varint,3,opt,name=version,proto3" json:"version,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ServerKeyResponse) Reset() {
*x = ServerKeyResponse{}
mi := &file_management_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ServerKeyResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerKeyResponse) ProtoMessage() {}
func (x *ServerKeyResponse) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[15]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ServerKeyResponse.ProtoReflect.Descriptor instead.
func (*ServerKeyResponse) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{15}
}
func (x *ServerKeyResponse) GetKey() string {
if x != nil {
return x.Key
}
return ""
}
func (x *ServerKeyResponse) GetExpiresAt() *timestamppb.Timestamp {
if x != nil {
return x.ExpiresAt
}
return nil
}
func (x *ServerKeyResponse) GetVersion() int32 {
if x != nil {
return x.Version
}
return 0
}
type Empty struct {
state protoimpl.MessageState `protogen:"open.v1"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Empty) Reset() {
*x = Empty{}
mi := &file_management_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Empty) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Empty) ProtoMessage() {}
func (x *Empty) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[16]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Empty.ProtoReflect.Descriptor instead.
func (*Empty) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{16}
}
// NetbirdConfig is a common configuration of any Netbird peer. It contains STUN, TURN, Signal and Management servers configurations
type NetbirdConfig struct {
state protoimpl.MessageState `protogen:"open.v1"`
// a list of STUN servers
Stuns []*HostConfig `protobuf:"bytes,1,rep,name=stuns,proto3" json:"stuns,omitempty"`
// a list of TURN servers
Turns []*ProtectedHostConfig `protobuf:"bytes,2,rep,name=turns,proto3" json:"turns,omitempty"`
// a Signal server config
Signal *HostConfig `protobuf:"bytes,3,opt,name=signal,proto3" json:"signal,omitempty"`
Relay *RelayConfig `protobuf:"bytes,4,opt,name=relay,proto3" json:"relay,omitempty"`
Flow *FlowConfig `protobuf:"bytes,5,opt,name=flow,proto3" json:"flow,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *NetbirdConfig) Reset() {
*x = NetbirdConfig{}
mi := &file_management_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NetbirdConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NetbirdConfig) ProtoMessage() {}
func (x *NetbirdConfig) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[17]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NetbirdConfig.ProtoReflect.Descriptor instead.
func (*NetbirdConfig) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{17}
}
func (x *NetbirdConfig) GetStuns() []*HostConfig {
if x != nil {
return x.Stuns
}
return nil
}
func (x *NetbirdConfig) GetTurns() []*ProtectedHostConfig {
if x != nil {
return x.Turns
}
return nil
}
func (x *NetbirdConfig) GetSignal() *HostConfig {
if x != nil {
return x.Signal
}
return nil
}
func (x *NetbirdConfig) GetRelay() *RelayConfig {
if x != nil {
return x.Relay
}
return nil
}
func (x *NetbirdConfig) GetFlow() *FlowConfig {
if x != nil {
return x.Flow
}
return nil
}
// HostConfig describes connection properties of some server (e.g. STUN, Signal, Management)
type HostConfig struct {
state protoimpl.MessageState `protogen:"open.v1"`
// URI of the resource e.g. turns://stun.netbird.io:4430 or signal.netbird.io:10000
Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
Protocol HostConfig_Protocol `protobuf:"varint,2,opt,name=protocol,proto3,enum=management.HostConfig_Protocol" json:"protocol,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *HostConfig) Reset() {
*x = HostConfig{}
mi := &file_management_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *HostConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HostConfig) ProtoMessage() {}
func (x *HostConfig) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[18]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use HostConfig.ProtoReflect.Descriptor instead.
func (*HostConfig) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{18}
}
func (x *HostConfig) GetUri() string {
if x != nil {
return x.Uri
}
return ""
}
func (x *HostConfig) GetProtocol() HostConfig_Protocol {
if x != nil {
return x.Protocol
}
return HostConfig_UDP
}
type RelayConfig struct {
state protoimpl.MessageState `protogen:"open.v1"`
Urls []string `protobuf:"bytes,1,rep,name=urls,proto3" json:"urls,omitempty"`
TokenPayload string `protobuf:"bytes,2,opt,name=tokenPayload,proto3" json:"tokenPayload,omitempty"`
TokenSignature string `protobuf:"bytes,3,opt,name=tokenSignature,proto3" json:"tokenSignature,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *RelayConfig) Reset() {
*x = RelayConfig{}
mi := &file_management_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RelayConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RelayConfig) ProtoMessage() {}
func (x *RelayConfig) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[19]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RelayConfig.ProtoReflect.Descriptor instead.
func (*RelayConfig) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{19}
}
func (x *RelayConfig) GetUrls() []string {
if x != nil {
return x.Urls
}
return nil
}
func (x *RelayConfig) GetTokenPayload() string {
if x != nil {
return x.TokenPayload
}
return ""
}
func (x *RelayConfig) GetTokenSignature() string {
if x != nil {
return x.TokenSignature
}
return ""
}
type FlowConfig struct {
state protoimpl.MessageState `protogen:"open.v1"`
Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
TokenPayload string `protobuf:"bytes,2,opt,name=tokenPayload,proto3" json:"tokenPayload,omitempty"`
TokenSignature string `protobuf:"bytes,3,opt,name=tokenSignature,proto3" json:"tokenSignature,omitempty"`
Interval *durationpb.Duration `protobuf:"bytes,4,opt,name=interval,proto3" json:"interval,omitempty"`
Enabled bool `protobuf:"varint,5,opt,name=enabled,proto3" json:"enabled,omitempty"`
// counters determines if flow packets and bytes counters should be sent
Counters bool `protobuf:"varint,6,opt,name=counters,proto3" json:"counters,omitempty"`
// exitNodeCollection determines if event collection on exit nodes should be enabled
ExitNodeCollection bool `protobuf:"varint,7,opt,name=exitNodeCollection,proto3" json:"exitNodeCollection,omitempty"`
// dnsCollection determines if DNS event collection should be enabled
DnsCollection bool `protobuf:"varint,8,opt,name=dnsCollection,proto3" json:"dnsCollection,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *FlowConfig) Reset() {
*x = FlowConfig{}
mi := &file_management_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *FlowConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FlowConfig) ProtoMessage() {}
func (x *FlowConfig) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[20]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FlowConfig.ProtoReflect.Descriptor instead.
func (*FlowConfig) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{20}
}
func (x *FlowConfig) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *FlowConfig) GetTokenPayload() string {
if x != nil {
return x.TokenPayload
}
return ""
}
func (x *FlowConfig) GetTokenSignature() string {
if x != nil {
return x.TokenSignature
}
return ""
}
func (x *FlowConfig) GetInterval() *durationpb.Duration {
if x != nil {
return x.Interval
}
return nil
}
func (x *FlowConfig) GetEnabled() bool {
if x != nil {
return x.Enabled
}
return false
}
func (x *FlowConfig) GetCounters() bool {
if x != nil {
return x.Counters
}
return false
}
func (x *FlowConfig) GetExitNodeCollection() bool {
if x != nil {
return x.ExitNodeCollection
}
return false
}
func (x *FlowConfig) GetDnsCollection() bool {
if x != nil {
return x.DnsCollection
}
return false
}
// JWTConfig represents JWT authentication configuration for validating tokens.
type JWTConfig struct {
state protoimpl.MessageState `protogen:"open.v1"`
Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"`
// Deprecated: audience is kept for backwards compatibility only. Use audiences instead in the client code but populate this field.
Audience string `protobuf:"bytes,2,opt,name=audience,proto3" json:"audience,omitempty"`
KeysLocation string `protobuf:"bytes,3,opt,name=keysLocation,proto3" json:"keysLocation,omitempty"`
MaxTokenAge int64 `protobuf:"varint,4,opt,name=maxTokenAge,proto3" json:"maxTokenAge,omitempty"`
// audiences contains the list of valid audiences for JWT validation.
// Tokens matching any audience in this list are considered valid.
Audiences []string `protobuf:"bytes,5,rep,name=audiences,proto3" json:"audiences,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *JWTConfig) Reset() {
*x = JWTConfig{}
mi := &file_management_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *JWTConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*JWTConfig) ProtoMessage() {}
func (x *JWTConfig) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[21]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use JWTConfig.ProtoReflect.Descriptor instead.
func (*JWTConfig) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{21}
}
func (x *JWTConfig) GetIssuer() string {
if x != nil {
return x.Issuer
}
return ""
}
func (x *JWTConfig) GetAudience() string {
if x != nil {
return x.Audience
}
return ""
}
func (x *JWTConfig) GetKeysLocation() string {
if x != nil {
return x.KeysLocation
}
return ""
}
func (x *JWTConfig) GetMaxTokenAge() int64 {
if x != nil {
return x.MaxTokenAge
}
return 0
}
func (x *JWTConfig) GetAudiences() []string {
if x != nil {
return x.Audiences
}
return nil
}
// ProtectedHostConfig is similar to HostConfig but has additional user and password
// Mostly used for TURN servers
type ProtectedHostConfig struct {
state protoimpl.MessageState `protogen:"open.v1"`
HostConfig *HostConfig `protobuf:"bytes,1,opt,name=hostConfig,proto3" json:"hostConfig,omitempty"`
User string `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"`
Password string `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ProtectedHostConfig) Reset() {
*x = ProtectedHostConfig{}
mi := &file_management_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ProtectedHostConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProtectedHostConfig) ProtoMessage() {}
func (x *ProtectedHostConfig) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[22]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ProtectedHostConfig.ProtoReflect.Descriptor instead.
func (*ProtectedHostConfig) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{22}
}
func (x *ProtectedHostConfig) GetHostConfig() *HostConfig {
if x != nil {
return x.HostConfig
}
return nil
}
func (x *ProtectedHostConfig) GetUser() string {
if x != nil {
return x.User
}
return ""
}
func (x *ProtectedHostConfig) GetPassword() string {
if x != nil {
return x.Password
}
return ""
}
// PeerConfig represents a configuration of a "our" peer.
// The properties are used to configure local Wireguard
type PeerConfig struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Peer's virtual IP address within the Netbird VPN (a Wireguard address config)
Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
// Netbird DNS server (a Wireguard DNS config)
Dns string `protobuf:"bytes,2,opt,name=dns,proto3" json:"dns,omitempty"`
// SSHConfig of the peer.
SshConfig *SSHConfig `protobuf:"bytes,3,opt,name=sshConfig,proto3" json:"sshConfig,omitempty"`
// Peer fully qualified domain name
Fqdn string `protobuf:"bytes,4,opt,name=fqdn,proto3" json:"fqdn,omitempty"`
RoutingPeerDnsResolutionEnabled bool `protobuf:"varint,5,opt,name=RoutingPeerDnsResolutionEnabled,proto3" json:"RoutingPeerDnsResolutionEnabled,omitempty"`
LazyConnectionEnabled bool `protobuf:"varint,6,opt,name=LazyConnectionEnabled,proto3" json:"LazyConnectionEnabled,omitempty"`
Mtu int32 `protobuf:"varint,7,opt,name=mtu,proto3" json:"mtu,omitempty"`
// Auto-update config
AutoUpdate *AutoUpdateSettings `protobuf:"bytes,8,opt,name=autoUpdate,proto3" json:"autoUpdate,omitempty"`
// IPv6 overlay address as compact bytes: 16 bytes IP + 1 byte prefix length.
AddressV6 []byte `protobuf:"bytes,9,opt,name=address_v6,json=addressV6,proto3" json:"address_v6,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PeerConfig) Reset() {
*x = PeerConfig{}
mi := &file_management_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PeerConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PeerConfig) ProtoMessage() {}
func (x *PeerConfig) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[23]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PeerConfig.ProtoReflect.Descriptor instead.
func (*PeerConfig) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{23}
}
func (x *PeerConfig) GetAddress() string {
if x != nil {
return x.Address
}
return ""
}
func (x *PeerConfig) GetDns() string {
if x != nil {
return x.Dns
}
return ""
}
func (x *PeerConfig) GetSshConfig() *SSHConfig {
if x != nil {
return x.SshConfig
}
return nil
}
func (x *PeerConfig) GetFqdn() string {
if x != nil {
return x.Fqdn
}
return ""
}
func (x *PeerConfig) GetRoutingPeerDnsResolutionEnabled() bool {
if x != nil {
return x.RoutingPeerDnsResolutionEnabled
}
return false
}
func (x *PeerConfig) GetLazyConnectionEnabled() bool {
if x != nil {
return x.LazyConnectionEnabled
}
return false
}
func (x *PeerConfig) GetMtu() int32 {
if x != nil {
return x.Mtu
}
return 0
}
func (x *PeerConfig) GetAutoUpdate() *AutoUpdateSettings {
if x != nil {
return x.AutoUpdate
}
return nil
}
func (x *PeerConfig) GetAddressV6() []byte {
if x != nil {
return x.AddressV6
}
return nil
}
type AutoUpdateSettings struct {
state protoimpl.MessageState `protogen:"open.v1"`
Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
// alwaysUpdate = true → Updates are installed automatically in the background
// alwaysUpdate = false → Updates require user interaction from the UI
AlwaysUpdate bool `protobuf:"varint,2,opt,name=alwaysUpdate,proto3" json:"alwaysUpdate,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AutoUpdateSettings) Reset() {
*x = AutoUpdateSettings{}
mi := &file_management_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AutoUpdateSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AutoUpdateSettings) ProtoMessage() {}
func (x *AutoUpdateSettings) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[24]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AutoUpdateSettings.ProtoReflect.Descriptor instead.
func (*AutoUpdateSettings) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{24}
}
func (x *AutoUpdateSettings) GetVersion() string {
if x != nil {
return x.Version
}
return ""
}
func (x *AutoUpdateSettings) GetAlwaysUpdate() bool {
if x != nil {
return x.AlwaysUpdate
}
return false
}
// NetworkMap represents a network state of the peer with the corresponding configuration parameters to establish peer-to-peer connections
type NetworkMap struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Serial is an ID of the network state to be used by clients to order updates.
// The larger the Serial the newer the configuration.
// E.g. the client app should keep track of this id locally and discard all the configurations with a lower value
Serial uint64 `protobuf:"varint,1,opt,name=Serial,proto3" json:"Serial,omitempty"`
// PeerConfig represents configuration of a peer
PeerConfig *PeerConfig `protobuf:"bytes,2,opt,name=peerConfig,proto3" json:"peerConfig,omitempty"`
// RemotePeerConfig represents a list of remote peers that the receiver can connect to
RemotePeers []*RemotePeerConfig `protobuf:"bytes,3,rep,name=remotePeers,proto3" json:"remotePeers,omitempty"`
// Indicates whether remotePeers array is empty or not to bypass protobuf null and empty array equality.
RemotePeersIsEmpty bool `protobuf:"varint,4,opt,name=remotePeersIsEmpty,proto3" json:"remotePeersIsEmpty,omitempty"`
// List of routes to be applied
Routes []*Route `protobuf:"bytes,5,rep,name=Routes,proto3" json:"Routes,omitempty"`
// DNS config to be applied
DNSConfig *DNSConfig `protobuf:"bytes,6,opt,name=DNSConfig,proto3" json:"DNSConfig,omitempty"`
// RemotePeerConfig represents a list of remote peers that the receiver can connect to
OfflinePeers []*RemotePeerConfig `protobuf:"bytes,7,rep,name=offlinePeers,proto3" json:"offlinePeers,omitempty"`
// FirewallRule represents a list of firewall rules to be applied to peer
FirewallRules []*FirewallRule `protobuf:"bytes,8,rep,name=FirewallRules,proto3" json:"FirewallRules,omitempty"`
// firewallRulesIsEmpty indicates whether FirewallRule array is empty or not to bypass protobuf null and empty array equality.
FirewallRulesIsEmpty bool `protobuf:"varint,9,opt,name=firewallRulesIsEmpty,proto3" json:"firewallRulesIsEmpty,omitempty"`
// RoutesFirewallRules represents a list of routes firewall rules to be applied to peer
RoutesFirewallRules []*RouteFirewallRule `protobuf:"bytes,10,rep,name=routesFirewallRules,proto3" json:"routesFirewallRules,omitempty"`
// RoutesFirewallRulesIsEmpty indicates whether RouteFirewallRule array is empty or not to bypass protobuf null and empty array equality.
RoutesFirewallRulesIsEmpty bool `protobuf:"varint,11,opt,name=routesFirewallRulesIsEmpty,proto3" json:"routesFirewallRulesIsEmpty,omitempty"`
ForwardingRules []*ForwardingRule `protobuf:"bytes,12,rep,name=forwardingRules,proto3" json:"forwardingRules,omitempty"`
// SSHAuth represents SSH authorization configuration
SshAuth *SSHAuth `protobuf:"bytes,13,opt,name=sshAuth,proto3" json:"sshAuth,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *NetworkMap) Reset() {
*x = NetworkMap{}
mi := &file_management_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NetworkMap) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NetworkMap) ProtoMessage() {}
func (x *NetworkMap) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[25]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NetworkMap.ProtoReflect.Descriptor instead.
func (*NetworkMap) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{25}
}
func (x *NetworkMap) GetSerial() uint64 {
if x != nil {
return x.Serial
}
return 0
}
func (x *NetworkMap) GetPeerConfig() *PeerConfig {
if x != nil {
return x.PeerConfig
}
return nil
}
func (x *NetworkMap) GetRemotePeers() []*RemotePeerConfig {
if x != nil {
return x.RemotePeers
}
return nil
}
func (x *NetworkMap) GetRemotePeersIsEmpty() bool {
if x != nil {
return x.RemotePeersIsEmpty
}
return false
}
func (x *NetworkMap) GetRoutes() []*Route {
if x != nil {
return x.Routes
}
return nil
}
func (x *NetworkMap) GetDNSConfig() *DNSConfig {
if x != nil {
return x.DNSConfig
}
return nil
}
func (x *NetworkMap) GetOfflinePeers() []*RemotePeerConfig {
if x != nil {
return x.OfflinePeers
}
return nil
}
func (x *NetworkMap) GetFirewallRules() []*FirewallRule {
if x != nil {
return x.FirewallRules
}
return nil
}
func (x *NetworkMap) GetFirewallRulesIsEmpty() bool {
if x != nil {
return x.FirewallRulesIsEmpty
}
return false
}
func (x *NetworkMap) GetRoutesFirewallRules() []*RouteFirewallRule {
if x != nil {
return x.RoutesFirewallRules
}
return nil
}
func (x *NetworkMap) GetRoutesFirewallRulesIsEmpty() bool {
if x != nil {
return x.RoutesFirewallRulesIsEmpty
}
return false
}
func (x *NetworkMap) GetForwardingRules() []*ForwardingRule {
if x != nil {
return x.ForwardingRules
}
return nil
}
func (x *NetworkMap) GetSshAuth() *SSHAuth {
if x != nil {
return x.SshAuth
}
return nil
}
type SSHAuth struct {
state protoimpl.MessageState `protogen:"open.v1"`
// UserIDClaim is the JWT claim to be used to get the users ID
UserIDClaim string `protobuf:"bytes,1,opt,name=UserIDClaim,proto3" json:"UserIDClaim,omitempty"`
// AuthorizedUsers is a list of hashed user IDs authorized to access this peer via SSH
AuthorizedUsers [][]byte `protobuf:"bytes,2,rep,name=AuthorizedUsers,proto3" json:"AuthorizedUsers,omitempty"`
// MachineUsers is a map of machine user names to their corresponding indexes in the AuthorizedUsers list
MachineUsers map[string]*MachineUserIndexes `protobuf:"bytes,3,rep,name=machine_users,json=machineUsers,proto3" json:"machine_users,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SSHAuth) Reset() {
*x = SSHAuth{}
mi := &file_management_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SSHAuth) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SSHAuth) ProtoMessage() {}
func (x *SSHAuth) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[26]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SSHAuth.ProtoReflect.Descriptor instead.
func (*SSHAuth) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{26}
}
func (x *SSHAuth) GetUserIDClaim() string {
if x != nil {
return x.UserIDClaim
}
return ""
}
func (x *SSHAuth) GetAuthorizedUsers() [][]byte {
if x != nil {
return x.AuthorizedUsers
}
return nil
}
func (x *SSHAuth) GetMachineUsers() map[string]*MachineUserIndexes {
if x != nil {
return x.MachineUsers
}
return nil
}
type MachineUserIndexes struct {
state protoimpl.MessageState `protogen:"open.v1"`
Indexes []uint32 `protobuf:"varint,1,rep,packed,name=indexes,proto3" json:"indexes,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *MachineUserIndexes) Reset() {
*x = MachineUserIndexes{}
mi := &file_management_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MachineUserIndexes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MachineUserIndexes) ProtoMessage() {}
func (x *MachineUserIndexes) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[27]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MachineUserIndexes.ProtoReflect.Descriptor instead.
func (*MachineUserIndexes) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{27}
}
func (x *MachineUserIndexes) GetIndexes() []uint32 {
if x != nil {
return x.Indexes
}
return nil
}
// RemotePeerConfig represents a configuration of a remote peer.
// The properties are used to configure WireGuard Peers sections
type RemotePeerConfig struct {
state protoimpl.MessageState `protogen:"open.v1"`
// A WireGuard public key of a remote peer
WgPubKey string `protobuf:"bytes,1,opt,name=wgPubKey,proto3" json:"wgPubKey,omitempty"`
// WireGuard allowed IPs of a remote peer e.g. [10.30.30.1/32]
AllowedIps []string `protobuf:"bytes,2,rep,name=allowedIps,proto3" json:"allowedIps,omitempty"`
// SSHConfig is a SSH config of the remote peer. SSHConfig.sshPubKey should be ignored because peer knows it's SSH key.
SshConfig *SSHConfig `protobuf:"bytes,3,opt,name=sshConfig,proto3" json:"sshConfig,omitempty"`
// Peer fully qualified domain name
Fqdn string `protobuf:"bytes,4,opt,name=fqdn,proto3" json:"fqdn,omitempty"`
AgentVersion string `protobuf:"bytes,5,opt,name=agentVersion,proto3" json:"agentVersion,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *RemotePeerConfig) Reset() {
*x = RemotePeerConfig{}
mi := &file_management_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RemotePeerConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RemotePeerConfig) ProtoMessage() {}
func (x *RemotePeerConfig) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[28]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RemotePeerConfig.ProtoReflect.Descriptor instead.
func (*RemotePeerConfig) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{28}
}
func (x *RemotePeerConfig) GetWgPubKey() string {
if x != nil {
return x.WgPubKey
}
return ""
}
func (x *RemotePeerConfig) GetAllowedIps() []string {
if x != nil {
return x.AllowedIps
}
return nil
}
func (x *RemotePeerConfig) GetSshConfig() *SSHConfig {
if x != nil {
return x.SshConfig
}
return nil
}
func (x *RemotePeerConfig) GetFqdn() string {
if x != nil {
return x.Fqdn
}
return ""
}
func (x *RemotePeerConfig) GetAgentVersion() string {
if x != nil {
return x.AgentVersion
}
return ""
}
// SSHConfig represents SSH configurations of a peer.
type SSHConfig struct {
state protoimpl.MessageState `protogen:"open.v1"`
// sshEnabled indicates whether a SSH server is enabled on this peer
SshEnabled bool `protobuf:"varint,1,opt,name=sshEnabled,proto3" json:"sshEnabled,omitempty"`
// sshPubKey is a SSH public key of a peer to be added to authorized_hosts.
// This property should be ignore if SSHConfig comes from PeerConfig.
SshPubKey []byte `protobuf:"bytes,2,opt,name=sshPubKey,proto3" json:"sshPubKey,omitempty"`
JwtConfig *JWTConfig `protobuf:"bytes,3,opt,name=jwtConfig,proto3" json:"jwtConfig,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SSHConfig) Reset() {
*x = SSHConfig{}
mi := &file_management_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SSHConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SSHConfig) ProtoMessage() {}
func (x *SSHConfig) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[29]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SSHConfig.ProtoReflect.Descriptor instead.
func (*SSHConfig) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{29}
}
func (x *SSHConfig) GetSshEnabled() bool {
if x != nil {
return x.SshEnabled
}
return false
}
func (x *SSHConfig) GetSshPubKey() []byte {
if x != nil {
return x.SshPubKey
}
return nil
}
func (x *SSHConfig) GetJwtConfig() *JWTConfig {
if x != nil {
return x.JwtConfig
}
return nil
}
// DeviceAuthorizationFlowRequest empty struct for future expansion
type DeviceAuthorizationFlowRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *DeviceAuthorizationFlowRequest) Reset() {
*x = DeviceAuthorizationFlowRequest{}
mi := &file_management_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DeviceAuthorizationFlowRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeviceAuthorizationFlowRequest) ProtoMessage() {}
func (x *DeviceAuthorizationFlowRequest) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[30]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeviceAuthorizationFlowRequest.ProtoReflect.Descriptor instead.
func (*DeviceAuthorizationFlowRequest) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{30}
}
// DeviceAuthorizationFlow represents Device Authorization Flow information
// that can be used by the client to login initiate a Oauth 2.0 device authorization grant flow
// see https://datatracker.ietf.org/doc/html/rfc8628
type DeviceAuthorizationFlow struct {
state protoimpl.MessageState `protogen:"open.v1"`
// An IDP provider , (eg. Auth0)
Provider DeviceAuthorizationFlowProvider `protobuf:"varint,1,opt,name=Provider,proto3,enum=management.DeviceAuthorizationFlowProvider" json:"Provider,omitempty"`
ProviderConfig *ProviderConfig `protobuf:"bytes,2,opt,name=ProviderConfig,proto3" json:"ProviderConfig,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *DeviceAuthorizationFlow) Reset() {
*x = DeviceAuthorizationFlow{}
mi := &file_management_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DeviceAuthorizationFlow) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeviceAuthorizationFlow) ProtoMessage() {}
func (x *DeviceAuthorizationFlow) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[31]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeviceAuthorizationFlow.ProtoReflect.Descriptor instead.
func (*DeviceAuthorizationFlow) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{31}
}
func (x *DeviceAuthorizationFlow) GetProvider() DeviceAuthorizationFlowProvider {
if x != nil {
return x.Provider
}
return DeviceAuthorizationFlow_HOSTED
}
func (x *DeviceAuthorizationFlow) GetProviderConfig() *ProviderConfig {
if x != nil {
return x.ProviderConfig
}
return nil
}
// PKCEAuthorizationFlowRequest empty struct for future expansion
type PKCEAuthorizationFlowRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PKCEAuthorizationFlowRequest) Reset() {
*x = PKCEAuthorizationFlowRequest{}
mi := &file_management_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PKCEAuthorizationFlowRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PKCEAuthorizationFlowRequest) ProtoMessage() {}
func (x *PKCEAuthorizationFlowRequest) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[32]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PKCEAuthorizationFlowRequest.ProtoReflect.Descriptor instead.
func (*PKCEAuthorizationFlowRequest) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{32}
}
// PKCEAuthorizationFlow represents Authorization Code Flow information
// that can be used by the client to login initiate a Oauth 2.0 authorization code grant flow
// with Proof Key for Code Exchange (PKCE). See https://datatracker.ietf.org/doc/html/rfc7636
type PKCEAuthorizationFlow struct {
state protoimpl.MessageState `protogen:"open.v1"`
ProviderConfig *ProviderConfig `protobuf:"bytes,1,opt,name=ProviderConfig,proto3" json:"ProviderConfig,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PKCEAuthorizationFlow) Reset() {
*x = PKCEAuthorizationFlow{}
mi := &file_management_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PKCEAuthorizationFlow) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PKCEAuthorizationFlow) ProtoMessage() {}
func (x *PKCEAuthorizationFlow) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[33]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PKCEAuthorizationFlow.ProtoReflect.Descriptor instead.
func (*PKCEAuthorizationFlow) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{33}
}
func (x *PKCEAuthorizationFlow) GetProviderConfig() *ProviderConfig {
if x != nil {
return x.ProviderConfig
}
return nil
}
// ProviderConfig has all attributes needed to initiate a device/pkce authorization flow
type ProviderConfig struct {
state protoimpl.MessageState `protogen:"open.v1"`
// An IDP application client id
ClientID string `protobuf:"bytes,1,opt,name=ClientID,proto3" json:"ClientID,omitempty"`
// Deprecated: use embedded IdP for providers that require a client secret (e.g. Google Workspace).
//
// Deprecated: Marked as deprecated in management.proto.
ClientSecret string `protobuf:"bytes,2,opt,name=ClientSecret,proto3" json:"ClientSecret,omitempty"`
// An IDP API domain
// Deprecated. Use a DeviceAuthEndpoint and TokenEndpoint
Domain string `protobuf:"bytes,3,opt,name=Domain,proto3" json:"Domain,omitempty"`
// An Audience for validation
Audience string `protobuf:"bytes,4,opt,name=Audience,proto3" json:"Audience,omitempty"`
// DeviceAuthEndpoint is an endpoint to request device authentication code.
DeviceAuthEndpoint string `protobuf:"bytes,5,opt,name=DeviceAuthEndpoint,proto3" json:"DeviceAuthEndpoint,omitempty"`
// TokenEndpoint is an endpoint to request auth token.
TokenEndpoint string `protobuf:"bytes,6,opt,name=TokenEndpoint,proto3" json:"TokenEndpoint,omitempty"`
// Scopes provides the scopes to be included in the token request
Scope string `protobuf:"bytes,7,opt,name=Scope,proto3" json:"Scope,omitempty"`
// UseIDToken indicates if the id token should be used for authentication
UseIDToken bool `protobuf:"varint,8,opt,name=UseIDToken,proto3" json:"UseIDToken,omitempty"`
// AuthorizationEndpoint is the endpoint of an IDP manager where clients can obtain authorization code.
AuthorizationEndpoint string `protobuf:"bytes,9,opt,name=AuthorizationEndpoint,proto3" json:"AuthorizationEndpoint,omitempty"`
// RedirectURLs handles authorization code from IDP manager
RedirectURLs []string `protobuf:"bytes,10,rep,name=RedirectURLs,proto3" json:"RedirectURLs,omitempty"`
// DisablePromptLogin makes the PKCE flow to not prompt the user for login
DisablePromptLogin bool `protobuf:"varint,11,opt,name=DisablePromptLogin,proto3" json:"DisablePromptLogin,omitempty"`
// LoginFlags sets the PKCE flow login details
LoginFlag uint32 `protobuf:"varint,12,opt,name=LoginFlag,proto3" json:"LoginFlag,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ProviderConfig) Reset() {
*x = ProviderConfig{}
mi := &file_management_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ProviderConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProviderConfig) ProtoMessage() {}
func (x *ProviderConfig) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[34]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ProviderConfig.ProtoReflect.Descriptor instead.
func (*ProviderConfig) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{34}
}
func (x *ProviderConfig) GetClientID() string {
if x != nil {
return x.ClientID
}
return ""
}
// Deprecated: Marked as deprecated in management.proto.
func (x *ProviderConfig) GetClientSecret() string {
if x != nil {
return x.ClientSecret
}
return ""
}
func (x *ProviderConfig) GetDomain() string {
if x != nil {
return x.Domain
}
return ""
}
func (x *ProviderConfig) GetAudience() string {
if x != nil {
return x.Audience
}
return ""
}
func (x *ProviderConfig) GetDeviceAuthEndpoint() string {
if x != nil {
return x.DeviceAuthEndpoint
}
return ""
}
func (x *ProviderConfig) GetTokenEndpoint() string {
if x != nil {
return x.TokenEndpoint
}
return ""
}
func (x *ProviderConfig) GetScope() string {
if x != nil {
return x.Scope
}
return ""
}
func (x *ProviderConfig) GetUseIDToken() bool {
if x != nil {
return x.UseIDToken
}
return false
}
func (x *ProviderConfig) GetAuthorizationEndpoint() string {
if x != nil {
return x.AuthorizationEndpoint
}
return ""
}
func (x *ProviderConfig) GetRedirectURLs() []string {
if x != nil {
return x.RedirectURLs
}
return nil
}
func (x *ProviderConfig) GetDisablePromptLogin() bool {
if x != nil {
return x.DisablePromptLogin
}
return false
}
func (x *ProviderConfig) GetLoginFlag() uint32 {
if x != nil {
return x.LoginFlag
}
return 0
}
// Route represents a route.Route object
type Route struct {
state protoimpl.MessageState `protogen:"open.v1"`
ID string `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"`
Network string `protobuf:"bytes,2,opt,name=Network,proto3" json:"Network,omitempty"`
NetworkType int64 `protobuf:"varint,3,opt,name=NetworkType,proto3" json:"NetworkType,omitempty"`
Peer string `protobuf:"bytes,4,opt,name=Peer,proto3" json:"Peer,omitempty"`
Metric int64 `protobuf:"varint,5,opt,name=Metric,proto3" json:"Metric,omitempty"`
Masquerade bool `protobuf:"varint,6,opt,name=Masquerade,proto3" json:"Masquerade,omitempty"`
NetID string `protobuf:"bytes,7,opt,name=NetID,proto3" json:"NetID,omitempty"`
Domains []string `protobuf:"bytes,8,rep,name=Domains,proto3" json:"Domains,omitempty"`
KeepRoute bool `protobuf:"varint,9,opt,name=keepRoute,proto3" json:"keepRoute,omitempty"`
SkipAutoApply bool `protobuf:"varint,10,opt,name=skipAutoApply,proto3" json:"skipAutoApply,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Route) Reset() {
*x = Route{}
mi := &file_management_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Route) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Route) ProtoMessage() {}
func (x *Route) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[35]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Route.ProtoReflect.Descriptor instead.
func (*Route) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{35}
}
func (x *Route) GetID() string {
if x != nil {
return x.ID
}
return ""
}
func (x *Route) GetNetwork() string {
if x != nil {
return x.Network
}
return ""
}
func (x *Route) GetNetworkType() int64 {
if x != nil {
return x.NetworkType
}
return 0
}
func (x *Route) GetPeer() string {
if x != nil {
return x.Peer
}
return ""
}
func (x *Route) GetMetric() int64 {
if x != nil {
return x.Metric
}
return 0
}
func (x *Route) GetMasquerade() bool {
if x != nil {
return x.Masquerade
}
return false
}
func (x *Route) GetNetID() string {
if x != nil {
return x.NetID
}
return ""
}
func (x *Route) GetDomains() []string {
if x != nil {
return x.Domains
}
return nil
}
func (x *Route) GetKeepRoute() bool {
if x != nil {
return x.KeepRoute
}
return false
}
func (x *Route) GetSkipAutoApply() bool {
if x != nil {
return x.SkipAutoApply
}
return false
}
// DNSConfig represents a dns.Update
type DNSConfig struct {
state protoimpl.MessageState `protogen:"open.v1"`
ServiceEnable bool `protobuf:"varint,1,opt,name=ServiceEnable,proto3" json:"ServiceEnable,omitempty"`
NameServerGroups []*NameServerGroup `protobuf:"bytes,2,rep,name=NameServerGroups,proto3" json:"NameServerGroups,omitempty"`
CustomZones []*CustomZone `protobuf:"bytes,3,rep,name=CustomZones,proto3" json:"CustomZones,omitempty"`
// Deprecated: Marked as deprecated in management.proto.
ForwarderPort int64 `protobuf:"varint,4,opt,name=ForwarderPort,proto3" json:"ForwarderPort,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *DNSConfig) Reset() {
*x = DNSConfig{}
mi := &file_management_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DNSConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DNSConfig) ProtoMessage() {}
func (x *DNSConfig) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[36]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DNSConfig.ProtoReflect.Descriptor instead.
func (*DNSConfig) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{36}
}
func (x *DNSConfig) GetServiceEnable() bool {
if x != nil {
return x.ServiceEnable
}
return false
}
func (x *DNSConfig) GetNameServerGroups() []*NameServerGroup {
if x != nil {
return x.NameServerGroups
}
return nil
}
func (x *DNSConfig) GetCustomZones() []*CustomZone {
if x != nil {
return x.CustomZones
}
return nil
}
// Deprecated: Marked as deprecated in management.proto.
func (x *DNSConfig) GetForwarderPort() int64 {
if x != nil {
return x.ForwarderPort
}
return 0
}
// CustomZone represents a dns.CustomZone
type CustomZone struct {
state protoimpl.MessageState `protogen:"open.v1"`
Domain string `protobuf:"bytes,1,opt,name=Domain,proto3" json:"Domain,omitempty"`
Records []*SimpleRecord `protobuf:"bytes,2,rep,name=Records,proto3" json:"Records,omitempty"`
SearchDomainDisabled bool `protobuf:"varint,3,opt,name=SearchDomainDisabled,proto3" json:"SearchDomainDisabled,omitempty"`
// NonAuthoritative indicates this is a user-created zone (not the built-in peer DNS zone).
// Non-authoritative zones will fallthrough to lower-priority handlers on NXDOMAIN and skip PTR processing.
NonAuthoritative bool `protobuf:"varint,4,opt,name=NonAuthoritative,proto3" json:"NonAuthoritative,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CustomZone) Reset() {
*x = CustomZone{}
mi := &file_management_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CustomZone) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CustomZone) ProtoMessage() {}
func (x *CustomZone) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[37]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CustomZone.ProtoReflect.Descriptor instead.
func (*CustomZone) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{37}
}
func (x *CustomZone) GetDomain() string {
if x != nil {
return x.Domain
}
return ""
}
func (x *CustomZone) GetRecords() []*SimpleRecord {
if x != nil {
return x.Records
}
return nil
}
func (x *CustomZone) GetSearchDomainDisabled() bool {
if x != nil {
return x.SearchDomainDisabled
}
return false
}
func (x *CustomZone) GetNonAuthoritative() bool {
if x != nil {
return x.NonAuthoritative
}
return false
}
// SimpleRecord represents a dns.SimpleRecord
type SimpleRecord struct {
state protoimpl.MessageState `protogen:"open.v1"`
Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"`
Type int64 `protobuf:"varint,2,opt,name=Type,proto3" json:"Type,omitempty"`
Class string `protobuf:"bytes,3,opt,name=Class,proto3" json:"Class,omitempty"`
TTL int64 `protobuf:"varint,4,opt,name=TTL,proto3" json:"TTL,omitempty"`
RData string `protobuf:"bytes,5,opt,name=RData,proto3" json:"RData,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SimpleRecord) Reset() {
*x = SimpleRecord{}
mi := &file_management_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SimpleRecord) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SimpleRecord) ProtoMessage() {}
func (x *SimpleRecord) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[38]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SimpleRecord.ProtoReflect.Descriptor instead.
func (*SimpleRecord) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{38}
}
func (x *SimpleRecord) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *SimpleRecord) GetType() int64 {
if x != nil {
return x.Type
}
return 0
}
func (x *SimpleRecord) GetClass() string {
if x != nil {
return x.Class
}
return ""
}
func (x *SimpleRecord) GetTTL() int64 {
if x != nil {
return x.TTL
}
return 0
}
func (x *SimpleRecord) GetRData() string {
if x != nil {
return x.RData
}
return ""
}
// NameServerGroup represents a dns.NameServerGroup
type NameServerGroup struct {
state protoimpl.MessageState `protogen:"open.v1"`
NameServers []*NameServer `protobuf:"bytes,1,rep,name=NameServers,proto3" json:"NameServers,omitempty"`
Primary bool `protobuf:"varint,2,opt,name=Primary,proto3" json:"Primary,omitempty"`
Domains []string `protobuf:"bytes,3,rep,name=Domains,proto3" json:"Domains,omitempty"`
SearchDomainsEnabled bool `protobuf:"varint,4,opt,name=SearchDomainsEnabled,proto3" json:"SearchDomainsEnabled,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *NameServerGroup) Reset() {
*x = NameServerGroup{}
mi := &file_management_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NameServerGroup) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NameServerGroup) ProtoMessage() {}
func (x *NameServerGroup) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[39]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NameServerGroup.ProtoReflect.Descriptor instead.
func (*NameServerGroup) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{39}
}
func (x *NameServerGroup) GetNameServers() []*NameServer {
if x != nil {
return x.NameServers
}
return nil
}
func (x *NameServerGroup) GetPrimary() bool {
if x != nil {
return x.Primary
}
return false
}
func (x *NameServerGroup) GetDomains() []string {
if x != nil {
return x.Domains
}
return nil
}
func (x *NameServerGroup) GetSearchDomainsEnabled() bool {
if x != nil {
return x.SearchDomainsEnabled
}
return false
}
// NameServer represents a dns.NameServer
type NameServer struct {
state protoimpl.MessageState `protogen:"open.v1"`
IP string `protobuf:"bytes,1,opt,name=IP,proto3" json:"IP,omitempty"`
NSType int64 `protobuf:"varint,2,opt,name=NSType,proto3" json:"NSType,omitempty"`
Port int64 `protobuf:"varint,3,opt,name=Port,proto3" json:"Port,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *NameServer) Reset() {
*x = NameServer{}
mi := &file_management_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NameServer) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NameServer) ProtoMessage() {}
func (x *NameServer) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[40]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NameServer.ProtoReflect.Descriptor instead.
func (*NameServer) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{40}
}
func (x *NameServer) GetIP() string {
if x != nil {
return x.IP
}
return ""
}
func (x *NameServer) GetNSType() int64 {
if x != nil {
return x.NSType
}
return 0
}
func (x *NameServer) GetPort() int64 {
if x != nil {
return x.Port
}
return 0
}
// FirewallRule represents a firewall rule
type FirewallRule struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Use sourcePrefixes instead.
//
// Deprecated: Marked as deprecated in management.proto.
PeerIP string `protobuf:"bytes,1,opt,name=PeerIP,proto3" json:"PeerIP,omitempty"`
Direction RuleDirection `protobuf:"varint,2,opt,name=Direction,proto3,enum=management.RuleDirection" json:"Direction,omitempty"`
Action RuleAction `protobuf:"varint,3,opt,name=Action,proto3,enum=management.RuleAction" json:"Action,omitempty"`
Protocol RuleProtocol `protobuf:"varint,4,opt,name=Protocol,proto3,enum=management.RuleProtocol" json:"Protocol,omitempty"`
Port string `protobuf:"bytes,5,opt,name=Port,proto3" json:"Port,omitempty"`
PortInfo *PortInfo `protobuf:"bytes,6,opt,name=PortInfo,proto3" json:"PortInfo,omitempty"`
// PolicyID is the ID of the policy that this rule belongs to
PolicyID []byte `protobuf:"bytes,7,opt,name=PolicyID,proto3" json:"PolicyID,omitempty"`
// CustomProtocol is a custom protocol ID when Protocol is CUSTOM.
CustomProtocol uint32 `protobuf:"varint,8,opt,name=customProtocol,proto3" json:"customProtocol,omitempty"`
// Compact source IP prefixes for this rule, supersedes PeerIP.
// Each entry is 5 bytes (v4) or 17 bytes (v6): [IP bytes][1 byte prefix_len].
SourcePrefixes [][]byte `protobuf:"bytes,9,rep,name=sourcePrefixes,proto3" json:"sourcePrefixes,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *FirewallRule) Reset() {
*x = FirewallRule{}
mi := &file_management_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *FirewallRule) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FirewallRule) ProtoMessage() {}
func (x *FirewallRule) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[41]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FirewallRule.ProtoReflect.Descriptor instead.
func (*FirewallRule) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{41}
}
// Deprecated: Marked as deprecated in management.proto.
func (x *FirewallRule) GetPeerIP() string {
if x != nil {
return x.PeerIP
}
return ""
}
func (x *FirewallRule) GetDirection() RuleDirection {
if x != nil {
return x.Direction
}
return RuleDirection_IN
}
func (x *FirewallRule) GetAction() RuleAction {
if x != nil {
return x.Action
}
return RuleAction_ACCEPT
}
func (x *FirewallRule) GetProtocol() RuleProtocol {
if x != nil {
return x.Protocol
}
return RuleProtocol_UNKNOWN
}
func (x *FirewallRule) GetPort() string {
if x != nil {
return x.Port
}
return ""
}
func (x *FirewallRule) GetPortInfo() *PortInfo {
if x != nil {
return x.PortInfo
}
return nil
}
func (x *FirewallRule) GetPolicyID() []byte {
if x != nil {
return x.PolicyID
}
return nil
}
func (x *FirewallRule) GetCustomProtocol() uint32 {
if x != nil {
return x.CustomProtocol
}
return 0
}
func (x *FirewallRule) GetSourcePrefixes() [][]byte {
if x != nil {
return x.SourcePrefixes
}
return nil
}
type NetworkAddress struct {
state protoimpl.MessageState `protogen:"open.v1"`
NetIP string `protobuf:"bytes,1,opt,name=netIP,proto3" json:"netIP,omitempty"`
Mac string `protobuf:"bytes,2,opt,name=mac,proto3" json:"mac,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *NetworkAddress) Reset() {
*x = NetworkAddress{}
mi := &file_management_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NetworkAddress) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NetworkAddress) ProtoMessage() {}
func (x *NetworkAddress) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[42]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NetworkAddress.ProtoReflect.Descriptor instead.
func (*NetworkAddress) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{42}
}
func (x *NetworkAddress) GetNetIP() string {
if x != nil {
return x.NetIP
}
return ""
}
func (x *NetworkAddress) GetMac() string {
if x != nil {
return x.Mac
}
return ""
}
type Checks struct {
state protoimpl.MessageState `protogen:"open.v1"`
Files []string `protobuf:"bytes,1,rep,name=Files,proto3" json:"Files,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Checks) Reset() {
*x = Checks{}
mi := &file_management_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Checks) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Checks) ProtoMessage() {}
func (x *Checks) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[43]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Checks.ProtoReflect.Descriptor instead.
func (*Checks) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{43}
}
func (x *Checks) GetFiles() []string {
if x != nil {
return x.Files
}
return nil
}
type PortInfo struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Types that are valid to be assigned to PortSelection:
//
// *PortInfo_Port
// *PortInfo_Range_
PortSelection isPortInfo_PortSelection `protobuf_oneof:"portSelection"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PortInfo) Reset() {
*x = PortInfo{}
mi := &file_management_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PortInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PortInfo) ProtoMessage() {}
func (x *PortInfo) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[44]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PortInfo.ProtoReflect.Descriptor instead.
func (*PortInfo) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{44}
}
func (x *PortInfo) GetPortSelection() isPortInfo_PortSelection {
if x != nil {
return x.PortSelection
}
return nil
}
func (x *PortInfo) GetPort() uint32 {
if x != nil {
if x, ok := x.PortSelection.(*PortInfo_Port); ok {
return x.Port
}
}
return 0
}
func (x *PortInfo) GetRange() *PortInfo_Range {
if x != nil {
if x, ok := x.PortSelection.(*PortInfo_Range_); ok {
return x.Range
}
}
return nil
}
type isPortInfo_PortSelection interface {
isPortInfo_PortSelection()
}
type PortInfo_Port struct {
Port uint32 `protobuf:"varint,1,opt,name=port,proto3,oneof"`
}
type PortInfo_Range_ struct {
Range *PortInfo_Range `protobuf:"bytes,2,opt,name=range,proto3,oneof"`
}
func (*PortInfo_Port) isPortInfo_PortSelection() {}
func (*PortInfo_Range_) isPortInfo_PortSelection() {}
// RouteFirewallRule signifies a firewall rule applicable for a routed network.
type RouteFirewallRule struct {
state protoimpl.MessageState `protogen:"open.v1"`
// sourceRanges IP ranges of the routing peers.
SourceRanges []string `protobuf:"bytes,1,rep,name=sourceRanges,proto3" json:"sourceRanges,omitempty"`
// Action to be taken by the firewall when the rule is applicable.
Action RuleAction `protobuf:"varint,2,opt,name=action,proto3,enum=management.RuleAction" json:"action,omitempty"`
// Network prefix for the routed network.
Destination string `protobuf:"bytes,3,opt,name=destination,proto3" json:"destination,omitempty"`
// Protocol of the routed network.
Protocol RuleProtocol `protobuf:"varint,4,opt,name=protocol,proto3,enum=management.RuleProtocol" json:"protocol,omitempty"`
// Details about the port.
PortInfo *PortInfo `protobuf:"bytes,5,opt,name=portInfo,proto3" json:"portInfo,omitempty"`
// IsDynamic indicates if the route is a DNS route.
IsDynamic bool `protobuf:"varint,6,opt,name=isDynamic,proto3" json:"isDynamic,omitempty"`
// Domains is a list of domains for which the rule is applicable.
Domains []string `protobuf:"bytes,7,rep,name=domains,proto3" json:"domains,omitempty"`
// CustomProtocol is a custom protocol ID.
CustomProtocol uint32 `protobuf:"varint,8,opt,name=customProtocol,proto3" json:"customProtocol,omitempty"`
// PolicyID is the ID of the policy that this rule belongs to
PolicyID []byte `protobuf:"bytes,9,opt,name=PolicyID,proto3" json:"PolicyID,omitempty"`
// RouteID is the ID of the route that this rule belongs to
RouteID string `protobuf:"bytes,10,opt,name=RouteID,proto3" json:"RouteID,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *RouteFirewallRule) Reset() {
*x = RouteFirewallRule{}
mi := &file_management_proto_msgTypes[45]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RouteFirewallRule) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RouteFirewallRule) ProtoMessage() {}
func (x *RouteFirewallRule) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[45]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RouteFirewallRule.ProtoReflect.Descriptor instead.
func (*RouteFirewallRule) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{45}
}
func (x *RouteFirewallRule) GetSourceRanges() []string {
if x != nil {
return x.SourceRanges
}
return nil
}
func (x *RouteFirewallRule) GetAction() RuleAction {
if x != nil {
return x.Action
}
return RuleAction_ACCEPT
}
func (x *RouteFirewallRule) GetDestination() string {
if x != nil {
return x.Destination
}
return ""
}
func (x *RouteFirewallRule) GetProtocol() RuleProtocol {
if x != nil {
return x.Protocol
}
return RuleProtocol_UNKNOWN
}
func (x *RouteFirewallRule) GetPortInfo() *PortInfo {
if x != nil {
return x.PortInfo
}
return nil
}
func (x *RouteFirewallRule) GetIsDynamic() bool {
if x != nil {
return x.IsDynamic
}
return false
}
func (x *RouteFirewallRule) GetDomains() []string {
if x != nil {
return x.Domains
}
return nil
}
func (x *RouteFirewallRule) GetCustomProtocol() uint32 {
if x != nil {
return x.CustomProtocol
}
return 0
}
func (x *RouteFirewallRule) GetPolicyID() []byte {
if x != nil {
return x.PolicyID
}
return nil
}
func (x *RouteFirewallRule) GetRouteID() string {
if x != nil {
return x.RouteID
}
return ""
}
type ForwardingRule struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Protocol of the forwarding rule
Protocol RuleProtocol `protobuf:"varint,1,opt,name=protocol,proto3,enum=management.RuleProtocol" json:"protocol,omitempty"`
// portInfo is the ingress destination port information, where the traffic arrives in the gateway node
DestinationPort *PortInfo `protobuf:"bytes,2,opt,name=destinationPort,proto3" json:"destinationPort,omitempty"`
// IP address of the translated address (remote peer) to send traffic to
TranslatedAddress []byte `protobuf:"bytes,3,opt,name=translatedAddress,proto3" json:"translatedAddress,omitempty"`
// Translated port information, where the traffic should be forwarded to
TranslatedPort *PortInfo `protobuf:"bytes,4,opt,name=translatedPort,proto3" json:"translatedPort,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ForwardingRule) Reset() {
*x = ForwardingRule{}
mi := &file_management_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ForwardingRule) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ForwardingRule) ProtoMessage() {}
func (x *ForwardingRule) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[46]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ForwardingRule.ProtoReflect.Descriptor instead.
func (*ForwardingRule) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{46}
}
func (x *ForwardingRule) GetProtocol() RuleProtocol {
if x != nil {
return x.Protocol
}
return RuleProtocol_UNKNOWN
}
func (x *ForwardingRule) GetDestinationPort() *PortInfo {
if x != nil {
return x.DestinationPort
}
return nil
}
func (x *ForwardingRule) GetTranslatedAddress() []byte {
if x != nil {
return x.TranslatedAddress
}
return nil
}
func (x *ForwardingRule) GetTranslatedPort() *PortInfo {
if x != nil {
return x.TranslatedPort
}
return nil
}
type ExposeServiceRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Port uint32 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"`
Protocol ExposeProtocol `protobuf:"varint,2,opt,name=protocol,proto3,enum=management.ExposeProtocol" json:"protocol,omitempty"`
Pin string `protobuf:"bytes,3,opt,name=pin,proto3" json:"pin,omitempty"`
Password string `protobuf:"bytes,4,opt,name=password,proto3" json:"password,omitempty"`
UserGroups []string `protobuf:"bytes,5,rep,name=user_groups,json=userGroups,proto3" json:"user_groups,omitempty"`
Domain string `protobuf:"bytes,6,opt,name=domain,proto3" json:"domain,omitempty"`
NamePrefix string `protobuf:"bytes,7,opt,name=name_prefix,json=namePrefix,proto3" json:"name_prefix,omitempty"`
ListenPort uint32 `protobuf:"varint,8,opt,name=listen_port,json=listenPort,proto3" json:"listen_port,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ExposeServiceRequest) Reset() {
*x = ExposeServiceRequest{}
mi := &file_management_proto_msgTypes[47]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ExposeServiceRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExposeServiceRequest) ProtoMessage() {}
func (x *ExposeServiceRequest) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[47]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExposeServiceRequest.ProtoReflect.Descriptor instead.
func (*ExposeServiceRequest) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{47}
}
func (x *ExposeServiceRequest) GetPort() uint32 {
if x != nil {
return x.Port
}
return 0
}
func (x *ExposeServiceRequest) GetProtocol() ExposeProtocol {
if x != nil {
return x.Protocol
}
return ExposeProtocol_EXPOSE_HTTP
}
func (x *ExposeServiceRequest) GetPin() string {
if x != nil {
return x.Pin
}
return ""
}
func (x *ExposeServiceRequest) GetPassword() string {
if x != nil {
return x.Password
}
return ""
}
func (x *ExposeServiceRequest) GetUserGroups() []string {
if x != nil {
return x.UserGroups
}
return nil
}
func (x *ExposeServiceRequest) GetDomain() string {
if x != nil {
return x.Domain
}
return ""
}
func (x *ExposeServiceRequest) GetNamePrefix() string {
if x != nil {
return x.NamePrefix
}
return ""
}
func (x *ExposeServiceRequest) GetListenPort() uint32 {
if x != nil {
return x.ListenPort
}
return 0
}
type ExposeServiceResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
ServiceUrl string `protobuf:"bytes,2,opt,name=service_url,json=serviceUrl,proto3" json:"service_url,omitempty"`
Domain string `protobuf:"bytes,3,opt,name=domain,proto3" json:"domain,omitempty"`
PortAutoAssigned bool `protobuf:"varint,4,opt,name=port_auto_assigned,json=portAutoAssigned,proto3" json:"port_auto_assigned,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ExposeServiceResponse) Reset() {
*x = ExposeServiceResponse{}
mi := &file_management_proto_msgTypes[48]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ExposeServiceResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExposeServiceResponse) ProtoMessage() {}
func (x *ExposeServiceResponse) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[48]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExposeServiceResponse.ProtoReflect.Descriptor instead.
func (*ExposeServiceResponse) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{48}
}
func (x *ExposeServiceResponse) GetServiceName() string {
if x != nil {
return x.ServiceName
}
return ""
}
func (x *ExposeServiceResponse) GetServiceUrl() string {
if x != nil {
return x.ServiceUrl
}
return ""
}
func (x *ExposeServiceResponse) GetDomain() string {
if x != nil {
return x.Domain
}
return ""
}
func (x *ExposeServiceResponse) GetPortAutoAssigned() bool {
if x != nil {
return x.PortAutoAssigned
}
return false
}
type RenewExposeRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *RenewExposeRequest) Reset() {
*x = RenewExposeRequest{}
mi := &file_management_proto_msgTypes[49]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RenewExposeRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RenewExposeRequest) ProtoMessage() {}
func (x *RenewExposeRequest) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[49]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RenewExposeRequest.ProtoReflect.Descriptor instead.
func (*RenewExposeRequest) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{49}
}
func (x *RenewExposeRequest) GetDomain() string {
if x != nil {
return x.Domain
}
return ""
}
type RenewExposeResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *RenewExposeResponse) Reset() {
*x = RenewExposeResponse{}
mi := &file_management_proto_msgTypes[50]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RenewExposeResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RenewExposeResponse) ProtoMessage() {}
func (x *RenewExposeResponse) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[50]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RenewExposeResponse.ProtoReflect.Descriptor instead.
func (*RenewExposeResponse) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{50}
}
type StopExposeRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *StopExposeRequest) Reset() {
*x = StopExposeRequest{}
mi := &file_management_proto_msgTypes[51]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *StopExposeRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StopExposeRequest) ProtoMessage() {}
func (x *StopExposeRequest) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[51]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StopExposeRequest.ProtoReflect.Descriptor instead.
func (*StopExposeRequest) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{51}
}
func (x *StopExposeRequest) GetDomain() string {
if x != nil {
return x.Domain
}
return ""
}
type StopExposeResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *StopExposeResponse) Reset() {
*x = StopExposeResponse{}
mi := &file_management_proto_msgTypes[52]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *StopExposeResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StopExposeResponse) ProtoMessage() {}
func (x *StopExposeResponse) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[52]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StopExposeResponse.ProtoReflect.Descriptor instead.
func (*StopExposeResponse) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{52}
}
type PortInfo_Range struct {
state protoimpl.MessageState `protogen:"open.v1"`
Start uint32 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"`
End uint32 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PortInfo_Range) Reset() {
*x = PortInfo_Range{}
mi := &file_management_proto_msgTypes[54]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PortInfo_Range) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PortInfo_Range) ProtoMessage() {}
func (x *PortInfo_Range) ProtoReflect() protoreflect.Message {
mi := &file_management_proto_msgTypes[54]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PortInfo_Range.ProtoReflect.Descriptor instead.
func (*PortInfo_Range) Descriptor() ([]byte, []int) {
return file_management_proto_rawDescGZIP(), []int{44, 0}
}
func (x *PortInfo_Range) GetStart() uint32 {
if x != nil {
return x.Start
}
return 0
}
func (x *PortInfo_Range) GetEnd() uint32 {
if x != nil {
return x.End
}
return 0
}
var File_management_proto protoreflect.FileDescriptor
const file_management_proto_rawDesc = "" +
"\n" +
"\x10management.proto\x12\n" +
"management\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\"\\\n" +
"\x10EncryptedMessage\x12\x1a\n" +
"\bwgPubKey\x18\x01 \x01(\tR\bwgPubKey\x12\x12\n" +
"\x04body\x18\x02 \x01(\fR\x04body\x12\x18\n" +
"\aversion\x18\x03 \x01(\x05R\aversion\"k\n" +
"\n" +
"JobRequest\x12\x0e\n" +
"\x02ID\x18\x01 \x01(\fR\x02ID\x126\n" +
"\x06bundle\x18\n" +
" \x01(\v2\x1c.management.BundleParametersH\x00R\x06bundleB\x15\n" +
"\x13workload_parameters\"\xac\x01\n" +
"\vJobResponse\x12\x0e\n" +
"\x02ID\x18\x01 \x01(\fR\x02ID\x12-\n" +
"\x06status\x18\x02 \x01(\x0e2\x15.management.JobStatusR\x06status\x12\x16\n" +
"\x06Reason\x18\x03 \x01(\fR\x06Reason\x122\n" +
"\x06bundle\x18\n" +
" \x01(\v2\x18.management.BundleResultH\x00R\x06bundleB\x12\n" +
"\x10workload_results\"\x9d\x01\n" +
"\x10BundleParameters\x12\x1d\n" +
"\n" +
"bundle_for\x18\x01 \x01(\bR\tbundleFor\x12&\n" +
"\x0fbundle_for_time\x18\x02 \x01(\x03R\rbundleForTime\x12$\n" +
"\x0elog_file_count\x18\x03 \x01(\x05R\flogFileCount\x12\x1c\n" +
"\tanonymize\x18\x04 \x01(\bR\tanonymize\"-\n" +
"\fBundleResult\x12\x1d\n" +
"\n" +
"upload_key\x18\x01 \x01(\tR\tuploadKey\"=\n" +
"\vSyncRequest\x12.\n" +
"\x04meta\x18\x01 \x01(\v2\x1a.management.PeerSystemMetaR\x04meta\"\xdb\x02\n" +
"\fSyncResponse\x12?\n" +
"\rnetbirdConfig\x18\x01 \x01(\v2\x19.management.NetbirdConfigR\rnetbirdConfig\x126\n" +
"\n" +
"peerConfig\x18\x02 \x01(\v2\x16.management.PeerConfigR\n" +
"peerConfig\x12>\n" +
"\vremotePeers\x18\x03 \x03(\v2\x1c.management.RemotePeerConfigR\vremotePeers\x12.\n" +
"\x12remotePeersIsEmpty\x18\x04 \x01(\bR\x12remotePeersIsEmpty\x126\n" +
"\n" +
"NetworkMap\x18\x05 \x01(\v2\x16.management.NetworkMapR\n" +
"NetworkMap\x12*\n" +
"\x06Checks\x18\x06 \x03(\v2\x12.management.ChecksR\x06Checks\"A\n" +
"\x0fSyncMetaRequest\x12.\n" +
"\x04meta\x18\x01 \x01(\v2\x1a.management.PeerSystemMetaR\x04meta\"\xc6\x01\n" +
"\fLoginRequest\x12\x1a\n" +
"\bsetupKey\x18\x01 \x01(\tR\bsetupKey\x12.\n" +
"\x04meta\x18\x02 \x01(\v2\x1a.management.PeerSystemMetaR\x04meta\x12\x1a\n" +
"\bjwtToken\x18\x03 \x01(\tR\bjwtToken\x120\n" +
"\bpeerKeys\x18\x04 \x01(\v2\x14.management.PeerKeysR\bpeerKeys\x12\x1c\n" +
"\tdnsLabels\x18\x05 \x03(\tR\tdnsLabels\"D\n" +
"\bPeerKeys\x12\x1c\n" +
"\tsshPubKey\x18\x01 \x01(\fR\tsshPubKey\x12\x1a\n" +
"\bwgPubKey\x18\x02 \x01(\fR\bwgPubKey\"?\n" +
"\vEnvironment\x12\x14\n" +
"\x05cloud\x18\x01 \x01(\tR\x05cloud\x12\x1a\n" +
"\bplatform\x18\x02 \x01(\tR\bplatform\"\\\n" +
"\x04File\x12\x12\n" +
"\x04path\x18\x01 \x01(\tR\x04path\x12\x14\n" +
"\x05exist\x18\x02 \x01(\bR\x05exist\x12*\n" +
"\x10processIsRunning\x18\x03 \x01(\bR\x10processIsRunning\"\xe1\x05\n" +
"\x05Flags\x12*\n" +
"\x10rosenpassEnabled\x18\x01 \x01(\bR\x10rosenpassEnabled\x120\n" +
"\x13rosenpassPermissive\x18\x02 \x01(\bR\x13rosenpassPermissive\x12*\n" +
"\x10serverSSHAllowed\x18\x03 \x01(\bR\x10serverSSHAllowed\x120\n" +
"\x13disableClientRoutes\x18\x04 \x01(\bR\x13disableClientRoutes\x120\n" +
"\x13disableServerRoutes\x18\x05 \x01(\bR\x13disableServerRoutes\x12\x1e\n" +
"\n" +
"disableDNS\x18\x06 \x01(\bR\n" +
"disableDNS\x12(\n" +
"\x0fdisableFirewall\x18\a \x01(\bR\x0fdisableFirewall\x12&\n" +
"\x0eblockLANAccess\x18\b \x01(\bR\x0eblockLANAccess\x12\"\n" +
"\fblockInbound\x18\t \x01(\bR\fblockInbound\x124\n" +
"\x15lazyConnectionEnabled\x18\n" +
" \x01(\bR\x15lazyConnectionEnabled\x12$\n" +
"\renableSSHRoot\x18\v \x01(\bR\renableSSHRoot\x12$\n" +
"\renableSSHSFTP\x18\f \x01(\bR\renableSSHSFTP\x12B\n" +
"\x1cenableSSHLocalPortForwarding\x18\r \x01(\bR\x1cenableSSHLocalPortForwarding\x12D\n" +
"\x1denableSSHRemotePortForwarding\x18\x0e \x01(\bR\x1denableSSHRemotePortForwarding\x12&\n" +
"\x0edisableSSHAuth\x18\x0f \x01(\bR\x0edisableSSHAuth\x12 \n" +
"\vdisableIPv6\x18\x10 \x01(\bR\vdisableIPv6\"\xb2\x05\n" +
"\x0ePeerSystemMeta\x12\x1a\n" +
"\bhostname\x18\x01 \x01(\tR\bhostname\x12\x12\n" +
"\x04goOS\x18\x02 \x01(\tR\x04goOS\x12\x16\n" +
"\x06kernel\x18\x03 \x01(\tR\x06kernel\x12\x12\n" +
"\x04core\x18\x04 \x01(\tR\x04core\x12\x1a\n" +
"\bplatform\x18\x05 \x01(\tR\bplatform\x12\x0e\n" +
"\x02OS\x18\x06 \x01(\tR\x02OS\x12&\n" +
"\x0enetbirdVersion\x18\a \x01(\tR\x0enetbirdVersion\x12\x1c\n" +
"\tuiVersion\x18\b \x01(\tR\tuiVersion\x12$\n" +
"\rkernelVersion\x18\t \x01(\tR\rkernelVersion\x12\x1c\n" +
"\tOSVersion\x18\n" +
" \x01(\tR\tOSVersion\x12F\n" +
"\x10networkAddresses\x18\v \x03(\v2\x1a.management.NetworkAddressR\x10networkAddresses\x12(\n" +
"\x0fsysSerialNumber\x18\f \x01(\tR\x0fsysSerialNumber\x12&\n" +
"\x0esysProductName\x18\r \x01(\tR\x0esysProductName\x12(\n" +
"\x0fsysManufacturer\x18\x0e \x01(\tR\x0fsysManufacturer\x129\n" +
"\venvironment\x18\x0f \x01(\v2\x17.management.EnvironmentR\venvironment\x12&\n" +
"\x05files\x18\x10 \x03(\v2\x10.management.FileR\x05files\x12'\n" +
"\x05flags\x18\x11 \x01(\v2\x11.management.FlagsR\x05flags\x12>\n" +
"\fcapabilities\x18\x12 \x03(\x0e2\x1a.management.PeerCapabilityR\fcapabilities\"\xb4\x01\n" +
"\rLoginResponse\x12?\n" +
"\rnetbirdConfig\x18\x01 \x01(\v2\x19.management.NetbirdConfigR\rnetbirdConfig\x126\n" +
"\n" +
"peerConfig\x18\x02 \x01(\v2\x16.management.PeerConfigR\n" +
"peerConfig\x12*\n" +
"\x06Checks\x18\x03 \x03(\v2\x12.management.ChecksR\x06Checks\"y\n" +
"\x11ServerKeyResponse\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x128\n" +
"\texpiresAt\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\x12\x18\n" +
"\aversion\x18\x03 \x01(\x05R\aversion\"\a\n" +
"\x05Empty\"\xff\x01\n" +
"\rNetbirdConfig\x12,\n" +
"\x05stuns\x18\x01 \x03(\v2\x16.management.HostConfigR\x05stuns\x125\n" +
"\x05turns\x18\x02 \x03(\v2\x1f.management.ProtectedHostConfigR\x05turns\x12.\n" +
"\x06signal\x18\x03 \x01(\v2\x16.management.HostConfigR\x06signal\x12-\n" +
"\x05relay\x18\x04 \x01(\v2\x17.management.RelayConfigR\x05relay\x12*\n" +
"\x04flow\x18\x05 \x01(\v2\x16.management.FlowConfigR\x04flow\"\x98\x01\n" +
"\n" +
"HostConfig\x12\x10\n" +
"\x03uri\x18\x01 \x01(\tR\x03uri\x12;\n" +
"\bprotocol\x18\x02 \x01(\x0e2\x1f.management.HostConfig.ProtocolR\bprotocol\";\n" +
"\bProtocol\x12\a\n" +
"\x03UDP\x10\x00\x12\a\n" +
"\x03TCP\x10\x01\x12\b\n" +
"\x04HTTP\x10\x02\x12\t\n" +
"\x05HTTPS\x10\x03\x12\b\n" +
"\x04DTLS\x10\x04\"m\n" +
"\vRelayConfig\x12\x12\n" +
"\x04urls\x18\x01 \x03(\tR\x04urls\x12\"\n" +
"\ftokenPayload\x18\x02 \x01(\tR\ftokenPayload\x12&\n" +
"\x0etokenSignature\x18\x03 \x01(\tR\x0etokenSignature\"\xad\x02\n" +
"\n" +
"FlowConfig\x12\x10\n" +
"\x03url\x18\x01 \x01(\tR\x03url\x12\"\n" +
"\ftokenPayload\x18\x02 \x01(\tR\ftokenPayload\x12&\n" +
"\x0etokenSignature\x18\x03 \x01(\tR\x0etokenSignature\x125\n" +
"\binterval\x18\x04 \x01(\v2\x19.google.protobuf.DurationR\binterval\x12\x18\n" +
"\aenabled\x18\x05 \x01(\bR\aenabled\x12\x1a\n" +
"\bcounters\x18\x06 \x01(\bR\bcounters\x12.\n" +
"\x12exitNodeCollection\x18\a \x01(\bR\x12exitNodeCollection\x12$\n" +
"\rdnsCollection\x18\b \x01(\bR\rdnsCollection\"\xa3\x01\n" +
"\tJWTConfig\x12\x16\n" +
"\x06issuer\x18\x01 \x01(\tR\x06issuer\x12\x1a\n" +
"\baudience\x18\x02 \x01(\tR\baudience\x12\"\n" +
"\fkeysLocation\x18\x03 \x01(\tR\fkeysLocation\x12 \n" +
"\vmaxTokenAge\x18\x04 \x01(\x03R\vmaxTokenAge\x12\x1c\n" +
"\taudiences\x18\x05 \x03(\tR\taudiences\"}\n" +
"\x13ProtectedHostConfig\x126\n" +
"\n" +
"hostConfig\x18\x01 \x01(\v2\x16.management.HostConfigR\n" +
"hostConfig\x12\x12\n" +
"\x04user\x18\x02 \x01(\tR\x04user\x12\x1a\n" +
"\bpassword\x18\x03 \x01(\tR\bpassword\"\xf2\x02\n" +
"\n" +
"PeerConfig\x12\x18\n" +
"\aaddress\x18\x01 \x01(\tR\aaddress\x12\x10\n" +
"\x03dns\x18\x02 \x01(\tR\x03dns\x123\n" +
"\tsshConfig\x18\x03 \x01(\v2\x15.management.SSHConfigR\tsshConfig\x12\x12\n" +
"\x04fqdn\x18\x04 \x01(\tR\x04fqdn\x12H\n" +
"\x1fRoutingPeerDnsResolutionEnabled\x18\x05 \x01(\bR\x1fRoutingPeerDnsResolutionEnabled\x124\n" +
"\x15LazyConnectionEnabled\x18\x06 \x01(\bR\x15LazyConnectionEnabled\x12\x10\n" +
"\x03mtu\x18\a \x01(\x05R\x03mtu\x12>\n" +
"\n" +
"autoUpdate\x18\b \x01(\v2\x1e.management.AutoUpdateSettingsR\n" +
"autoUpdate\x12\x1d\n" +
"\n" +
"address_v6\x18\t \x01(\fR\taddressV6\"R\n" +
"\x12AutoUpdateSettings\x12\x18\n" +
"\aversion\x18\x01 \x01(\tR\aversion\x12\"\n" +
"\falwaysUpdate\x18\x02 \x01(\bR\falwaysUpdate\"\xe8\x05\n" +
"\n" +
"NetworkMap\x12\x16\n" +
"\x06Serial\x18\x01 \x01(\x04R\x06Serial\x126\n" +
"\n" +
"peerConfig\x18\x02 \x01(\v2\x16.management.PeerConfigR\n" +
"peerConfig\x12>\n" +
"\vremotePeers\x18\x03 \x03(\v2\x1c.management.RemotePeerConfigR\vremotePeers\x12.\n" +
"\x12remotePeersIsEmpty\x18\x04 \x01(\bR\x12remotePeersIsEmpty\x12)\n" +
"\x06Routes\x18\x05 \x03(\v2\x11.management.RouteR\x06Routes\x123\n" +
"\tDNSConfig\x18\x06 \x01(\v2\x15.management.DNSConfigR\tDNSConfig\x12@\n" +
"\fofflinePeers\x18\a \x03(\v2\x1c.management.RemotePeerConfigR\fofflinePeers\x12>\n" +
"\rFirewallRules\x18\b \x03(\v2\x18.management.FirewallRuleR\rFirewallRules\x122\n" +
"\x14firewallRulesIsEmpty\x18\t \x01(\bR\x14firewallRulesIsEmpty\x12O\n" +
"\x13routesFirewallRules\x18\n" +
" \x03(\v2\x1d.management.RouteFirewallRuleR\x13routesFirewallRules\x12>\n" +
"\x1aroutesFirewallRulesIsEmpty\x18\v \x01(\bR\x1aroutesFirewallRulesIsEmpty\x12D\n" +
"\x0fforwardingRules\x18\f \x03(\v2\x1a.management.ForwardingRuleR\x0fforwardingRules\x12-\n" +
"\asshAuth\x18\r \x01(\v2\x13.management.SSHAuthR\asshAuth\"\x82\x02\n" +
"\aSSHAuth\x12 \n" +
"\vUserIDClaim\x18\x01 \x01(\tR\vUserIDClaim\x12(\n" +
"\x0fAuthorizedUsers\x18\x02 \x03(\fR\x0fAuthorizedUsers\x12J\n" +
"\rmachine_users\x18\x03 \x03(\v2%.management.SSHAuth.MachineUsersEntryR\fmachineUsers\x1a_\n" +
"\x11MachineUsersEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x124\n" +
"\x05value\x18\x02 \x01(\v2\x1e.management.MachineUserIndexesR\x05value:\x028\x01\".\n" +
"\x12MachineUserIndexes\x12\x18\n" +
"\aindexes\x18\x01 \x03(\rR\aindexes\"\xbb\x01\n" +
"\x10RemotePeerConfig\x12\x1a\n" +
"\bwgPubKey\x18\x01 \x01(\tR\bwgPubKey\x12\x1e\n" +
"\n" +
"allowedIps\x18\x02 \x03(\tR\n" +
"allowedIps\x123\n" +
"\tsshConfig\x18\x03 \x01(\v2\x15.management.SSHConfigR\tsshConfig\x12\x12\n" +
"\x04fqdn\x18\x04 \x01(\tR\x04fqdn\x12\"\n" +
"\fagentVersion\x18\x05 \x01(\tR\fagentVersion\"~\n" +
"\tSSHConfig\x12\x1e\n" +
"\n" +
"sshEnabled\x18\x01 \x01(\bR\n" +
"sshEnabled\x12\x1c\n" +
"\tsshPubKey\x18\x02 \x01(\fR\tsshPubKey\x123\n" +
"\tjwtConfig\x18\x03 \x01(\v2\x15.management.JWTConfigR\tjwtConfig\" \n" +
"\x1eDeviceAuthorizationFlowRequest\"\xbf\x01\n" +
"\x17DeviceAuthorizationFlow\x12H\n" +
"\bProvider\x18\x01 \x01(\x0e2,.management.DeviceAuthorizationFlow.providerR\bProvider\x12B\n" +
"\x0eProviderConfig\x18\x02 \x01(\v2\x1a.management.ProviderConfigR\x0eProviderConfig\"\x16\n" +
"\bprovider\x12\n" +
"\n" +
"\x06HOSTED\x10\x00\"\x1e\n" +
"\x1cPKCEAuthorizationFlowRequest\"[\n" +
"\x15PKCEAuthorizationFlow\x12B\n" +
"\x0eProviderConfig\x18\x01 \x01(\v2\x1a.management.ProviderConfigR\x0eProviderConfig\"\xbc\x03\n" +
"\x0eProviderConfig\x12\x1a\n" +
"\bClientID\x18\x01 \x01(\tR\bClientID\x12&\n" +
"\fClientSecret\x18\x02 \x01(\tB\x02\x18\x01R\fClientSecret\x12\x16\n" +
"\x06Domain\x18\x03 \x01(\tR\x06Domain\x12\x1a\n" +
"\bAudience\x18\x04 \x01(\tR\bAudience\x12.\n" +
"\x12DeviceAuthEndpoint\x18\x05 \x01(\tR\x12DeviceAuthEndpoint\x12$\n" +
"\rTokenEndpoint\x18\x06 \x01(\tR\rTokenEndpoint\x12\x14\n" +
"\x05Scope\x18\a \x01(\tR\x05Scope\x12\x1e\n" +
"\n" +
"UseIDToken\x18\b \x01(\bR\n" +
"UseIDToken\x124\n" +
"\x15AuthorizationEndpoint\x18\t \x01(\tR\x15AuthorizationEndpoint\x12\"\n" +
"\fRedirectURLs\x18\n" +
" \x03(\tR\fRedirectURLs\x12.\n" +
"\x12DisablePromptLogin\x18\v \x01(\bR\x12DisablePromptLogin\x12\x1c\n" +
"\tLoginFlag\x18\f \x01(\rR\tLoginFlag\"\x93\x02\n" +
"\x05Route\x12\x0e\n" +
"\x02ID\x18\x01 \x01(\tR\x02ID\x12\x18\n" +
"\aNetwork\x18\x02 \x01(\tR\aNetwork\x12 \n" +
"\vNetworkType\x18\x03 \x01(\x03R\vNetworkType\x12\x12\n" +
"\x04Peer\x18\x04 \x01(\tR\x04Peer\x12\x16\n" +
"\x06Metric\x18\x05 \x01(\x03R\x06Metric\x12\x1e\n" +
"\n" +
"Masquerade\x18\x06 \x01(\bR\n" +
"Masquerade\x12\x14\n" +
"\x05NetID\x18\a \x01(\tR\x05NetID\x12\x18\n" +
"\aDomains\x18\b \x03(\tR\aDomains\x12\x1c\n" +
"\tkeepRoute\x18\t \x01(\bR\tkeepRoute\x12$\n" +
"\rskipAutoApply\x18\n" +
" \x01(\bR\rskipAutoApply\"\xde\x01\n" +
"\tDNSConfig\x12$\n" +
"\rServiceEnable\x18\x01 \x01(\bR\rServiceEnable\x12G\n" +
"\x10NameServerGroups\x18\x02 \x03(\v2\x1b.management.NameServerGroupR\x10NameServerGroups\x128\n" +
"\vCustomZones\x18\x03 \x03(\v2\x16.management.CustomZoneR\vCustomZones\x12(\n" +
"\rForwarderPort\x18\x04 \x01(\x03B\x02\x18\x01R\rForwarderPort\"\xb8\x01\n" +
"\n" +
"CustomZone\x12\x16\n" +
"\x06Domain\x18\x01 \x01(\tR\x06Domain\x122\n" +
"\aRecords\x18\x02 \x03(\v2\x18.management.SimpleRecordR\aRecords\x122\n" +
"\x14SearchDomainDisabled\x18\x03 \x01(\bR\x14SearchDomainDisabled\x12*\n" +
"\x10NonAuthoritative\x18\x04 \x01(\bR\x10NonAuthoritative\"t\n" +
"\fSimpleRecord\x12\x12\n" +
"\x04Name\x18\x01 \x01(\tR\x04Name\x12\x12\n" +
"\x04Type\x18\x02 \x01(\x03R\x04Type\x12\x14\n" +
"\x05Class\x18\x03 \x01(\tR\x05Class\x12\x10\n" +
"\x03TTL\x18\x04 \x01(\x03R\x03TTL\x12\x14\n" +
"\x05RData\x18\x05 \x01(\tR\x05RData\"\xb3\x01\n" +
"\x0fNameServerGroup\x128\n" +
"\vNameServers\x18\x01 \x03(\v2\x16.management.NameServerR\vNameServers\x12\x18\n" +
"\aPrimary\x18\x02 \x01(\bR\aPrimary\x12\x18\n" +
"\aDomains\x18\x03 \x03(\tR\aDomains\x122\n" +
"\x14SearchDomainsEnabled\x18\x04 \x01(\bR\x14SearchDomainsEnabled\"H\n" +
"\n" +
"NameServer\x12\x0e\n" +
"\x02IP\x18\x01 \x01(\tR\x02IP\x12\x16\n" +
"\x06NSType\x18\x02 \x01(\x03R\x06NSType\x12\x12\n" +
"\x04Port\x18\x03 \x01(\x03R\x04Port\"\xfb\x02\n" +
"\fFirewallRule\x12\x1a\n" +
"\x06PeerIP\x18\x01 \x01(\tB\x02\x18\x01R\x06PeerIP\x127\n" +
"\tDirection\x18\x02 \x01(\x0e2\x19.management.RuleDirectionR\tDirection\x12.\n" +
"\x06Action\x18\x03 \x01(\x0e2\x16.management.RuleActionR\x06Action\x124\n" +
"\bProtocol\x18\x04 \x01(\x0e2\x18.management.RuleProtocolR\bProtocol\x12\x12\n" +
"\x04Port\x18\x05 \x01(\tR\x04Port\x120\n" +
"\bPortInfo\x18\x06 \x01(\v2\x14.management.PortInfoR\bPortInfo\x12\x1a\n" +
"\bPolicyID\x18\a \x01(\fR\bPolicyID\x12&\n" +
"\x0ecustomProtocol\x18\b \x01(\rR\x0ecustomProtocol\x12&\n" +
"\x0esourcePrefixes\x18\t \x03(\fR\x0esourcePrefixes\"8\n" +
"\x0eNetworkAddress\x12\x14\n" +
"\x05netIP\x18\x01 \x01(\tR\x05netIP\x12\x10\n" +
"\x03mac\x18\x02 \x01(\tR\x03mac\"\x1e\n" +
"\x06Checks\x12\x14\n" +
"\x05Files\x18\x01 \x03(\tR\x05Files\"\x96\x01\n" +
"\bPortInfo\x12\x14\n" +
"\x04port\x18\x01 \x01(\rH\x00R\x04port\x122\n" +
"\x05range\x18\x02 \x01(\v2\x1a.management.PortInfo.RangeH\x00R\x05range\x1a/\n" +
"\x05Range\x12\x14\n" +
"\x05start\x18\x01 \x01(\rR\x05start\x12\x10\n" +
"\x03end\x18\x02 \x01(\rR\x03endB\x0f\n" +
"\rportSelection\"\x87\x03\n" +
"\x11RouteFirewallRule\x12\"\n" +
"\fsourceRanges\x18\x01 \x03(\tR\fsourceRanges\x12.\n" +
"\x06action\x18\x02 \x01(\x0e2\x16.management.RuleActionR\x06action\x12 \n" +
"\vdestination\x18\x03 \x01(\tR\vdestination\x124\n" +
"\bprotocol\x18\x04 \x01(\x0e2\x18.management.RuleProtocolR\bprotocol\x120\n" +
"\bportInfo\x18\x05 \x01(\v2\x14.management.PortInfoR\bportInfo\x12\x1c\n" +
"\tisDynamic\x18\x06 \x01(\bR\tisDynamic\x12\x18\n" +
"\adomains\x18\a \x03(\tR\adomains\x12&\n" +
"\x0ecustomProtocol\x18\b \x01(\rR\x0ecustomProtocol\x12\x1a\n" +
"\bPolicyID\x18\t \x01(\fR\bPolicyID\x12\x18\n" +
"\aRouteID\x18\n" +
" \x01(\tR\aRouteID\"\xf2\x01\n" +
"\x0eForwardingRule\x124\n" +
"\bprotocol\x18\x01 \x01(\x0e2\x18.management.RuleProtocolR\bprotocol\x12>\n" +
"\x0fdestinationPort\x18\x02 \x01(\v2\x14.management.PortInfoR\x0fdestinationPort\x12,\n" +
"\x11translatedAddress\x18\x03 \x01(\fR\x11translatedAddress\x12<\n" +
"\x0etranslatedPort\x18\x04 \x01(\v2\x14.management.PortInfoR\x0etranslatedPort\"\x8b\x02\n" +
"\x14ExposeServiceRequest\x12\x12\n" +
"\x04port\x18\x01 \x01(\rR\x04port\x126\n" +
"\bprotocol\x18\x02 \x01(\x0e2\x1a.management.ExposeProtocolR\bprotocol\x12\x10\n" +
"\x03pin\x18\x03 \x01(\tR\x03pin\x12\x1a\n" +
"\bpassword\x18\x04 \x01(\tR\bpassword\x12\x1f\n" +
"\vuser_groups\x18\x05 \x03(\tR\n" +
"userGroups\x12\x16\n" +
"\x06domain\x18\x06 \x01(\tR\x06domain\x12\x1f\n" +
"\vname_prefix\x18\a \x01(\tR\n" +
"namePrefix\x12\x1f\n" +
"\vlisten_port\x18\b \x01(\rR\n" +
"listenPort\"\xa1\x01\n" +
"\x15ExposeServiceResponse\x12!\n" +
"\fservice_name\x18\x01 \x01(\tR\vserviceName\x12\x1f\n" +
"\vservice_url\x18\x02 \x01(\tR\n" +
"serviceUrl\x12\x16\n" +
"\x06domain\x18\x03 \x01(\tR\x06domain\x12,\n" +
"\x12port_auto_assigned\x18\x04 \x01(\bR\x10portAutoAssigned\",\n" +
"\x12RenewExposeRequest\x12\x16\n" +
"\x06domain\x18\x01 \x01(\tR\x06domain\"\x15\n" +
"\x13RenewExposeResponse\"+\n" +
"\x11StopExposeRequest\x12\x16\n" +
"\x06domain\x18\x01 \x01(\tR\x06domain\"\x14\n" +
"\x12StopExposeResponse*:\n" +
"\tJobStatus\x12\x12\n" +
"\x0eunknown_status\x10\x00\x12\r\n" +
"\tsucceeded\x10\x01\x12\n" +
"\n" +
"\x06failed\x10\x02*l\n" +
"\x0ePeerCapability\x12\x19\n" +
"\x15PeerCapabilityUnknown\x10\x00\x12 \n" +
"\x1cPeerCapabilitySourcePrefixes\x10\x01\x12\x1d\n" +
"\x19PeerCapabilityIPv6Overlay\x10\x02*L\n" +
"\fRuleProtocol\x12\v\n" +
"\aUNKNOWN\x10\x00\x12\a\n" +
"\x03ALL\x10\x01\x12\a\n" +
"\x03TCP\x10\x02\x12\a\n" +
"\x03UDP\x10\x03\x12\b\n" +
"\x04ICMP\x10\x04\x12\n" +
"\n" +
"\x06CUSTOM\x10\x05* \n" +
"\rRuleDirection\x12\x06\n" +
"\x02IN\x10\x00\x12\a\n" +
"\x03OUT\x10\x01*\"\n" +
"\n" +
"RuleAction\x12\n" +
"\n" +
"\x06ACCEPT\x10\x00\x12\b\n" +
"\x04DROP\x10\x01*c\n" +
"\x0eExposeProtocol\x12\x0f\n" +
"\vEXPOSE_HTTP\x10\x00\x12\x10\n" +
"\fEXPOSE_HTTPS\x10\x01\x12\x0e\n" +
"\n" +
"EXPOSE_TCP\x10\x02\x12\x0e\n" +
"\n" +
"EXPOSE_UDP\x10\x03\x12\x0e\n" +
"\n" +
"EXPOSE_TLS\x10\x042\xfd\x06\n" +
"\x11ManagementService\x12E\n" +
"\x05Login\x12\x1c.management.EncryptedMessage\x1a\x1c.management.EncryptedMessage\"\x00\x12F\n" +
"\x04Sync\x12\x1c.management.EncryptedMessage\x1a\x1c.management.EncryptedMessage\"\x000\x01\x12B\n" +
"\fGetServerKey\x12\x11.management.Empty\x1a\x1d.management.ServerKeyResponse\"\x00\x123\n" +
"\tisHealthy\x12\x11.management.Empty\x1a\x11.management.Empty\"\x00\x12Z\n" +
"\x1aGetDeviceAuthorizationFlow\x12\x1c.management.EncryptedMessage\x1a\x1c.management.EncryptedMessage\"\x00\x12X\n" +
"\x18GetPKCEAuthorizationFlow\x12\x1c.management.EncryptedMessage\x1a\x1c.management.EncryptedMessage\"\x00\x12=\n" +
"\bSyncMeta\x12\x1c.management.EncryptedMessage\x1a\x11.management.Empty\"\x00\x12;\n" +
"\x06Logout\x12\x1c.management.EncryptedMessage\x1a\x11.management.Empty\"\x00\x12G\n" +
"\x03Job\x12\x1c.management.EncryptedMessage\x1a\x1c.management.EncryptedMessage\"\x00(\x010\x01\x12L\n" +
"\fCreateExpose\x12\x1c.management.EncryptedMessage\x1a\x1c.management.EncryptedMessage\"\x00\x12K\n" +
"\vRenewExpose\x12\x1c.management.EncryptedMessage\x1a\x1c.management.EncryptedMessage\"\x00\x12J\n" +
"\n" +
"StopExpose\x12\x1c.management.EncryptedMessage\x1a\x1c.management.EncryptedMessage\"\x00B\bZ\x06/protob\x06proto3"
var (
file_management_proto_rawDescOnce sync.Once
file_management_proto_rawDescData []byte
)
func file_management_proto_rawDescGZIP() []byte {
file_management_proto_rawDescOnce.Do(func() {
file_management_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_management_proto_rawDesc), len(file_management_proto_rawDesc)))
})
return file_management_proto_rawDescData
}
var file_management_proto_enumTypes = make([]protoimpl.EnumInfo, 8)
var file_management_proto_msgTypes = make([]protoimpl.MessageInfo, 55)
var file_management_proto_goTypes = []any{
(JobStatus)(0), // 0: management.JobStatus
(PeerCapability)(0), // 1: management.PeerCapability
(RuleProtocol)(0), // 2: management.RuleProtocol
(RuleDirection)(0), // 3: management.RuleDirection
(RuleAction)(0), // 4: management.RuleAction
(ExposeProtocol)(0), // 5: management.ExposeProtocol
(HostConfig_Protocol)(0), // 6: management.HostConfig.Protocol
(DeviceAuthorizationFlowProvider)(0), // 7: management.DeviceAuthorizationFlow.provider
(*EncryptedMessage)(nil), // 8: management.EncryptedMessage
(*JobRequest)(nil), // 9: management.JobRequest
(*JobResponse)(nil), // 10: management.JobResponse
(*BundleParameters)(nil), // 11: management.BundleParameters
(*BundleResult)(nil), // 12: management.BundleResult
(*SyncRequest)(nil), // 13: management.SyncRequest
(*SyncResponse)(nil), // 14: management.SyncResponse
(*SyncMetaRequest)(nil), // 15: management.SyncMetaRequest
(*LoginRequest)(nil), // 16: management.LoginRequest
(*PeerKeys)(nil), // 17: management.PeerKeys
(*Environment)(nil), // 18: management.Environment
(*File)(nil), // 19: management.File
(*Flags)(nil), // 20: management.Flags
(*PeerSystemMeta)(nil), // 21: management.PeerSystemMeta
(*LoginResponse)(nil), // 22: management.LoginResponse
(*ServerKeyResponse)(nil), // 23: management.ServerKeyResponse
(*Empty)(nil), // 24: management.Empty
(*NetbirdConfig)(nil), // 25: management.NetbirdConfig
(*HostConfig)(nil), // 26: management.HostConfig
(*RelayConfig)(nil), // 27: management.RelayConfig
(*FlowConfig)(nil), // 28: management.FlowConfig
(*JWTConfig)(nil), // 29: management.JWTConfig
(*ProtectedHostConfig)(nil), // 30: management.ProtectedHostConfig
(*PeerConfig)(nil), // 31: management.PeerConfig
(*AutoUpdateSettings)(nil), // 32: management.AutoUpdateSettings
(*NetworkMap)(nil), // 33: management.NetworkMap
(*SSHAuth)(nil), // 34: management.SSHAuth
(*MachineUserIndexes)(nil), // 35: management.MachineUserIndexes
(*RemotePeerConfig)(nil), // 36: management.RemotePeerConfig
(*SSHConfig)(nil), // 37: management.SSHConfig
(*DeviceAuthorizationFlowRequest)(nil), // 38: management.DeviceAuthorizationFlowRequest
(*DeviceAuthorizationFlow)(nil), // 39: management.DeviceAuthorizationFlow
(*PKCEAuthorizationFlowRequest)(nil), // 40: management.PKCEAuthorizationFlowRequest
(*PKCEAuthorizationFlow)(nil), // 41: management.PKCEAuthorizationFlow
(*ProviderConfig)(nil), // 42: management.ProviderConfig
(*Route)(nil), // 43: management.Route
(*DNSConfig)(nil), // 44: management.DNSConfig
(*CustomZone)(nil), // 45: management.CustomZone
(*SimpleRecord)(nil), // 46: management.SimpleRecord
(*NameServerGroup)(nil), // 47: management.NameServerGroup
(*NameServer)(nil), // 48: management.NameServer
(*FirewallRule)(nil), // 49: management.FirewallRule
(*NetworkAddress)(nil), // 50: management.NetworkAddress
(*Checks)(nil), // 51: management.Checks
(*PortInfo)(nil), // 52: management.PortInfo
(*RouteFirewallRule)(nil), // 53: management.RouteFirewallRule
(*ForwardingRule)(nil), // 54: management.ForwardingRule
(*ExposeServiceRequest)(nil), // 55: management.ExposeServiceRequest
(*ExposeServiceResponse)(nil), // 56: management.ExposeServiceResponse
(*RenewExposeRequest)(nil), // 57: management.RenewExposeRequest
(*RenewExposeResponse)(nil), // 58: management.RenewExposeResponse
(*StopExposeRequest)(nil), // 59: management.StopExposeRequest
(*StopExposeResponse)(nil), // 60: management.StopExposeResponse
nil, // 61: management.SSHAuth.MachineUsersEntry
(*PortInfo_Range)(nil), // 62: management.PortInfo.Range
(*timestamppb.Timestamp)(nil), // 63: google.protobuf.Timestamp
(*durationpb.Duration)(nil), // 64: google.protobuf.Duration
}
var file_management_proto_depIdxs = []int32{
11, // 0: management.JobRequest.bundle:type_name -> management.BundleParameters
0, // 1: management.JobResponse.status:type_name -> management.JobStatus
12, // 2: management.JobResponse.bundle:type_name -> management.BundleResult
21, // 3: management.SyncRequest.meta:type_name -> management.PeerSystemMeta
25, // 4: management.SyncResponse.netbirdConfig:type_name -> management.NetbirdConfig
31, // 5: management.SyncResponse.peerConfig:type_name -> management.PeerConfig
36, // 6: management.SyncResponse.remotePeers:type_name -> management.RemotePeerConfig
33, // 7: management.SyncResponse.NetworkMap:type_name -> management.NetworkMap
51, // 8: management.SyncResponse.Checks:type_name -> management.Checks
21, // 9: management.SyncMetaRequest.meta:type_name -> management.PeerSystemMeta
21, // 10: management.LoginRequest.meta:type_name -> management.PeerSystemMeta
17, // 11: management.LoginRequest.peerKeys:type_name -> management.PeerKeys
50, // 12: management.PeerSystemMeta.networkAddresses:type_name -> management.NetworkAddress
18, // 13: management.PeerSystemMeta.environment:type_name -> management.Environment
19, // 14: management.PeerSystemMeta.files:type_name -> management.File
20, // 15: management.PeerSystemMeta.flags:type_name -> management.Flags
1, // 16: management.PeerSystemMeta.capabilities:type_name -> management.PeerCapability
25, // 17: management.LoginResponse.netbirdConfig:type_name -> management.NetbirdConfig
31, // 18: management.LoginResponse.peerConfig:type_name -> management.PeerConfig
51, // 19: management.LoginResponse.Checks:type_name -> management.Checks
63, // 20: management.ServerKeyResponse.expiresAt:type_name -> google.protobuf.Timestamp
26, // 21: management.NetbirdConfig.stuns:type_name -> management.HostConfig
30, // 22: management.NetbirdConfig.turns:type_name -> management.ProtectedHostConfig
26, // 23: management.NetbirdConfig.signal:type_name -> management.HostConfig
27, // 24: management.NetbirdConfig.relay:type_name -> management.RelayConfig
28, // 25: management.NetbirdConfig.flow:type_name -> management.FlowConfig
6, // 26: management.HostConfig.protocol:type_name -> management.HostConfig.Protocol
64, // 27: management.FlowConfig.interval:type_name -> google.protobuf.Duration
26, // 28: management.ProtectedHostConfig.hostConfig:type_name -> management.HostConfig
37, // 29: management.PeerConfig.sshConfig:type_name -> management.SSHConfig
32, // 30: management.PeerConfig.autoUpdate:type_name -> management.AutoUpdateSettings
31, // 31: management.NetworkMap.peerConfig:type_name -> management.PeerConfig
36, // 32: management.NetworkMap.remotePeers:type_name -> management.RemotePeerConfig
43, // 33: management.NetworkMap.Routes:type_name -> management.Route
44, // 34: management.NetworkMap.DNSConfig:type_name -> management.DNSConfig
36, // 35: management.NetworkMap.offlinePeers:type_name -> management.RemotePeerConfig
49, // 36: management.NetworkMap.FirewallRules:type_name -> management.FirewallRule
53, // 37: management.NetworkMap.routesFirewallRules:type_name -> management.RouteFirewallRule
54, // 38: management.NetworkMap.forwardingRules:type_name -> management.ForwardingRule
34, // 39: management.NetworkMap.sshAuth:type_name -> management.SSHAuth
61, // 40: management.SSHAuth.machine_users:type_name -> management.SSHAuth.MachineUsersEntry
37, // 41: management.RemotePeerConfig.sshConfig:type_name -> management.SSHConfig
29, // 42: management.SSHConfig.jwtConfig:type_name -> management.JWTConfig
7, // 43: management.DeviceAuthorizationFlow.Provider:type_name -> management.DeviceAuthorizationFlow.provider
42, // 44: management.DeviceAuthorizationFlow.ProviderConfig:type_name -> management.ProviderConfig
42, // 45: management.PKCEAuthorizationFlow.ProviderConfig:type_name -> management.ProviderConfig
47, // 46: management.DNSConfig.NameServerGroups:type_name -> management.NameServerGroup
45, // 47: management.DNSConfig.CustomZones:type_name -> management.CustomZone
46, // 48: management.CustomZone.Records:type_name -> management.SimpleRecord
48, // 49: management.NameServerGroup.NameServers:type_name -> management.NameServer
3, // 50: management.FirewallRule.Direction:type_name -> management.RuleDirection
4, // 51: management.FirewallRule.Action:type_name -> management.RuleAction
2, // 52: management.FirewallRule.Protocol:type_name -> management.RuleProtocol
52, // 53: management.FirewallRule.PortInfo:type_name -> management.PortInfo
62, // 54: management.PortInfo.range:type_name -> management.PortInfo.Range
4, // 55: management.RouteFirewallRule.action:type_name -> management.RuleAction
2, // 56: management.RouteFirewallRule.protocol:type_name -> management.RuleProtocol
52, // 57: management.RouteFirewallRule.portInfo:type_name -> management.PortInfo
2, // 58: management.ForwardingRule.protocol:type_name -> management.RuleProtocol
52, // 59: management.ForwardingRule.destinationPort:type_name -> management.PortInfo
52, // 60: management.ForwardingRule.translatedPort:type_name -> management.PortInfo
5, // 61: management.ExposeServiceRequest.protocol:type_name -> management.ExposeProtocol
35, // 62: management.SSHAuth.MachineUsersEntry.value:type_name -> management.MachineUserIndexes
8, // 63: management.ManagementService.Login:input_type -> management.EncryptedMessage
8, // 64: management.ManagementService.Sync:input_type -> management.EncryptedMessage
24, // 65: management.ManagementService.GetServerKey:input_type -> management.Empty
24, // 66: management.ManagementService.isHealthy:input_type -> management.Empty
8, // 67: management.ManagementService.GetDeviceAuthorizationFlow:input_type -> management.EncryptedMessage
8, // 68: management.ManagementService.GetPKCEAuthorizationFlow:input_type -> management.EncryptedMessage
8, // 69: management.ManagementService.SyncMeta:input_type -> management.EncryptedMessage
8, // 70: management.ManagementService.Logout:input_type -> management.EncryptedMessage
8, // 71: management.ManagementService.Job:input_type -> management.EncryptedMessage
8, // 72: management.ManagementService.CreateExpose:input_type -> management.EncryptedMessage
8, // 73: management.ManagementService.RenewExpose:input_type -> management.EncryptedMessage
8, // 74: management.ManagementService.StopExpose:input_type -> management.EncryptedMessage
8, // 75: management.ManagementService.Login:output_type -> management.EncryptedMessage
8, // 76: management.ManagementService.Sync:output_type -> management.EncryptedMessage
23, // 77: management.ManagementService.GetServerKey:output_type -> management.ServerKeyResponse
24, // 78: management.ManagementService.isHealthy:output_type -> management.Empty
8, // 79: management.ManagementService.GetDeviceAuthorizationFlow:output_type -> management.EncryptedMessage
8, // 80: management.ManagementService.GetPKCEAuthorizationFlow:output_type -> management.EncryptedMessage
24, // 81: management.ManagementService.SyncMeta:output_type -> management.Empty
24, // 82: management.ManagementService.Logout:output_type -> management.Empty
8, // 83: management.ManagementService.Job:output_type -> management.EncryptedMessage
8, // 84: management.ManagementService.CreateExpose:output_type -> management.EncryptedMessage
8, // 85: management.ManagementService.RenewExpose:output_type -> management.EncryptedMessage
8, // 86: management.ManagementService.StopExpose:output_type -> management.EncryptedMessage
75, // [75:87] is the sub-list for method output_type
63, // [63:75] is the sub-list for method input_type
63, // [63:63] is the sub-list for extension type_name
63, // [63:63] is the sub-list for extension extendee
0, // [0:63] is the sub-list for field type_name
}
func init() { file_management_proto_init() }
func file_management_proto_init() {
if File_management_proto != nil {
return
}
file_management_proto_msgTypes[1].OneofWrappers = []any{
(*JobRequest_Bundle)(nil),
}
file_management_proto_msgTypes[2].OneofWrappers = []any{
(*JobResponse_Bundle)(nil),
}
file_management_proto_msgTypes[44].OneofWrappers = []any{
(*PortInfo_Port)(nil),
(*PortInfo_Range_)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_management_proto_rawDesc), len(file_management_proto_rawDesc)),
NumEnums: 8,
NumMessages: 55,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_management_proto_goTypes,
DependencyIndexes: file_management_proto_depIdxs,
EnumInfos: file_management_proto_enumTypes,
MessageInfos: file_management_proto_msgTypes,
}.Build()
File_management_proto = out.File
file_management_proto_goTypes = nil
file_management_proto_depIdxs = nil
}