netbird/management/proto/management.pb.go
Zoltan Papp 64f949abbb Integrate relay into peer conn
- extend mgm with relay address
- extend signaling with remote peer's relay address
- start setup relay connection before engine start
2024-06-14 14:40:31 +02:00

2214 lines
78 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// source: management.proto
package proto
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
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
)
var HostConfig_Protocol_name = map[int32]string{
0: "UDP",
1: "TCP",
2: "HTTP",
3: "HTTPS",
4: "DTLS",
}
var HostConfig_Protocol_value = map[string]int32{
"UDP": 0,
"TCP": 1,
"HTTP": 2,
"HTTPS": 3,
"DTLS": 4,
}
func (x HostConfig_Protocol) String() string {
return proto.EnumName(HostConfig_Protocol_name, int32(x))
}
func (HostConfig_Protocol) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{11, 0}
}
type DeviceAuthorizationFlowProvider int32
const (
DeviceAuthorizationFlow_HOSTED DeviceAuthorizationFlowProvider = 0
)
var DeviceAuthorizationFlowProvider_name = map[int32]string{
0: "HOSTED",
}
var DeviceAuthorizationFlowProvider_value = map[string]int32{
"HOSTED": 0,
}
func (x DeviceAuthorizationFlowProvider) String() string {
return proto.EnumName(DeviceAuthorizationFlowProvider_name, int32(x))
}
func (DeviceAuthorizationFlowProvider) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{18, 0}
}
type FirewallRuleDirection int32
const (
FirewallRule_IN FirewallRuleDirection = 0
FirewallRule_OUT FirewallRuleDirection = 1
)
var FirewallRuleDirection_name = map[int32]string{
0: "IN",
1: "OUT",
}
var FirewallRuleDirection_value = map[string]int32{
"IN": 0,
"OUT": 1,
}
func (x FirewallRuleDirection) String() string {
return proto.EnumName(FirewallRuleDirection_name, int32(x))
}
func (FirewallRuleDirection) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{28, 0}
}
type FirewallRuleAction int32
const (
FirewallRule_ACCEPT FirewallRuleAction = 0
FirewallRule_DROP FirewallRuleAction = 1
)
var FirewallRuleAction_name = map[int32]string{
0: "ACCEPT",
1: "DROP",
}
var FirewallRuleAction_value = map[string]int32{
"ACCEPT": 0,
"DROP": 1,
}
func (x FirewallRuleAction) String() string {
return proto.EnumName(FirewallRuleAction_name, int32(x))
}
func (FirewallRuleAction) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{28, 1}
}
type FirewallRuleProtocol int32
const (
FirewallRule_UNKNOWN FirewallRuleProtocol = 0
FirewallRule_ALL FirewallRuleProtocol = 1
FirewallRule_TCP FirewallRuleProtocol = 2
FirewallRule_UDP FirewallRuleProtocol = 3
FirewallRule_ICMP FirewallRuleProtocol = 4
)
var FirewallRuleProtocol_name = map[int32]string{
0: "UNKNOWN",
1: "ALL",
2: "TCP",
3: "UDP",
4: "ICMP",
}
var FirewallRuleProtocol_value = map[string]int32{
"UNKNOWN": 0,
"ALL": 1,
"TCP": 2,
"UDP": 3,
"ICMP": 4,
}
func (x FirewallRuleProtocol) String() string {
return proto.EnumName(FirewallRuleProtocol_name, int32(x))
}
func (FirewallRuleProtocol) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{28, 2}
}
type EncryptedMessage struct {
// 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 Wiretrustee Management Service protocol
Version int32 `protobuf:"varint,3,opt,name=version,proto3" json:"version,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *EncryptedMessage) Reset() { *m = EncryptedMessage{} }
func (m *EncryptedMessage) String() string { return proto.CompactTextString(m) }
func (*EncryptedMessage) ProtoMessage() {}
func (*EncryptedMessage) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{0}
}
func (m *EncryptedMessage) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_EncryptedMessage.Unmarshal(m, b)
}
func (m *EncryptedMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_EncryptedMessage.Marshal(b, m, deterministic)
}
func (m *EncryptedMessage) XXX_Merge(src proto.Message) {
xxx_messageInfo_EncryptedMessage.Merge(m, src)
}
func (m *EncryptedMessage) XXX_Size() int {
return xxx_messageInfo_EncryptedMessage.Size(m)
}
func (m *EncryptedMessage) XXX_DiscardUnknown() {
xxx_messageInfo_EncryptedMessage.DiscardUnknown(m)
}
var xxx_messageInfo_EncryptedMessage proto.InternalMessageInfo
func (m *EncryptedMessage) GetWgPubKey() string {
if m != nil {
return m.WgPubKey
}
return ""
}
func (m *EncryptedMessage) GetBody() []byte {
if m != nil {
return m.Body
}
return nil
}
func (m *EncryptedMessage) GetVersion() int32 {
if m != nil {
return m.Version
}
return 0
}
type SyncRequest struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncRequest) Reset() { *m = SyncRequest{} }
func (m *SyncRequest) String() string { return proto.CompactTextString(m) }
func (*SyncRequest) ProtoMessage() {}
func (*SyncRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{1}
}
func (m *SyncRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncRequest.Unmarshal(m, b)
}
func (m *SyncRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncRequest.Marshal(b, m, deterministic)
}
func (m *SyncRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncRequest.Merge(m, src)
}
func (m *SyncRequest) XXX_Size() int {
return xxx_messageInfo_SyncRequest.Size(m)
}
func (m *SyncRequest) XXX_DiscardUnknown() {
xxx_messageInfo_SyncRequest.DiscardUnknown(m)
}
var xxx_messageInfo_SyncRequest proto.InternalMessageInfo
// SyncResponse represents a state that should be applied to the local peer (e.g. Wiretrustee servers config as well as local peer and remote peers configs)
type SyncResponse struct {
// Global config
WiretrusteeConfig *WiretrusteeConfig `protobuf:"bytes,1,opt,name=wiretrusteeConfig,proto3" json:"wiretrusteeConfig,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"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncResponse) Reset() { *m = SyncResponse{} }
func (m *SyncResponse) String() string { return proto.CompactTextString(m) }
func (*SyncResponse) ProtoMessage() {}
func (*SyncResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{2}
}
func (m *SyncResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncResponse.Unmarshal(m, b)
}
func (m *SyncResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncResponse.Marshal(b, m, deterministic)
}
func (m *SyncResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncResponse.Merge(m, src)
}
func (m *SyncResponse) XXX_Size() int {
return xxx_messageInfo_SyncResponse.Size(m)
}
func (m *SyncResponse) XXX_DiscardUnknown() {
xxx_messageInfo_SyncResponse.DiscardUnknown(m)
}
var xxx_messageInfo_SyncResponse proto.InternalMessageInfo
func (m *SyncResponse) GetWiretrusteeConfig() *WiretrusteeConfig {
if m != nil {
return m.WiretrusteeConfig
}
return nil
}
func (m *SyncResponse) GetPeerConfig() *PeerConfig {
if m != nil {
return m.PeerConfig
}
return nil
}
func (m *SyncResponse) GetRemotePeers() []*RemotePeerConfig {
if m != nil {
return m.RemotePeers
}
return nil
}
func (m *SyncResponse) GetRemotePeersIsEmpty() bool {
if m != nil {
return m.RemotePeersIsEmpty
}
return false
}
func (m *SyncResponse) GetNetworkMap() *NetworkMap {
if m != nil {
return m.NetworkMap
}
return nil
}
type LoginRequest struct {
// 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"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *LoginRequest) Reset() { *m = LoginRequest{} }
func (m *LoginRequest) String() string { return proto.CompactTextString(m) }
func (*LoginRequest) ProtoMessage() {}
func (*LoginRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{3}
}
func (m *LoginRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LoginRequest.Unmarshal(m, b)
}
func (m *LoginRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LoginRequest.Marshal(b, m, deterministic)
}
func (m *LoginRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_LoginRequest.Merge(m, src)
}
func (m *LoginRequest) XXX_Size() int {
return xxx_messageInfo_LoginRequest.Size(m)
}
func (m *LoginRequest) XXX_DiscardUnknown() {
xxx_messageInfo_LoginRequest.DiscardUnknown(m)
}
var xxx_messageInfo_LoginRequest proto.InternalMessageInfo
func (m *LoginRequest) GetSetupKey() string {
if m != nil {
return m.SetupKey
}
return ""
}
func (m *LoginRequest) GetMeta() *PeerSystemMeta {
if m != nil {
return m.Meta
}
return nil
}
func (m *LoginRequest) GetJwtToken() string {
if m != nil {
return m.JwtToken
}
return ""
}
func (m *LoginRequest) GetPeerKeys() *PeerKeys {
if m != nil {
return m.PeerKeys
}
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 {
// 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"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PeerKeys) Reset() { *m = PeerKeys{} }
func (m *PeerKeys) String() string { return proto.CompactTextString(m) }
func (*PeerKeys) ProtoMessage() {}
func (*PeerKeys) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{4}
}
func (m *PeerKeys) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PeerKeys.Unmarshal(m, b)
}
func (m *PeerKeys) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PeerKeys.Marshal(b, m, deterministic)
}
func (m *PeerKeys) XXX_Merge(src proto.Message) {
xxx_messageInfo_PeerKeys.Merge(m, src)
}
func (m *PeerKeys) XXX_Size() int {
return xxx_messageInfo_PeerKeys.Size(m)
}
func (m *PeerKeys) XXX_DiscardUnknown() {
xxx_messageInfo_PeerKeys.DiscardUnknown(m)
}
var xxx_messageInfo_PeerKeys proto.InternalMessageInfo
func (m *PeerKeys) GetSshPubKey() []byte {
if m != nil {
return m.SshPubKey
}
return nil
}
func (m *PeerKeys) GetWgPubKey() []byte {
if m != nil {
return m.WgPubKey
}
return nil
}
// Environment is part of the PeerSystemMeta and describes the environment the agent is running in.
type Environment struct {
// 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"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Environment) Reset() { *m = Environment{} }
func (m *Environment) String() string { return proto.CompactTextString(m) }
func (*Environment) ProtoMessage() {}
func (*Environment) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{5}
}
func (m *Environment) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Environment.Unmarshal(m, b)
}
func (m *Environment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Environment.Marshal(b, m, deterministic)
}
func (m *Environment) XXX_Merge(src proto.Message) {
xxx_messageInfo_Environment.Merge(m, src)
}
func (m *Environment) XXX_Size() int {
return xxx_messageInfo_Environment.Size(m)
}
func (m *Environment) XXX_DiscardUnknown() {
xxx_messageInfo_Environment.DiscardUnknown(m)
}
var xxx_messageInfo_Environment proto.InternalMessageInfo
func (m *Environment) GetCloud() string {
if m != nil {
return m.Cloud
}
return ""
}
func (m *Environment) GetPlatform() string {
if m != nil {
return m.Platform
}
return ""
}
// PeerSystemMeta is machine meta data like OS and version.
type PeerSystemMeta struct {
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"`
WiretrusteeVersion string `protobuf:"bytes,7,opt,name=wiretrusteeVersion,proto3" json:"wiretrusteeVersion,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"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PeerSystemMeta) Reset() { *m = PeerSystemMeta{} }
func (m *PeerSystemMeta) String() string { return proto.CompactTextString(m) }
func (*PeerSystemMeta) ProtoMessage() {}
func (*PeerSystemMeta) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{6}
}
func (m *PeerSystemMeta) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PeerSystemMeta.Unmarshal(m, b)
}
func (m *PeerSystemMeta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PeerSystemMeta.Marshal(b, m, deterministic)
}
func (m *PeerSystemMeta) XXX_Merge(src proto.Message) {
xxx_messageInfo_PeerSystemMeta.Merge(m, src)
}
func (m *PeerSystemMeta) XXX_Size() int {
return xxx_messageInfo_PeerSystemMeta.Size(m)
}
func (m *PeerSystemMeta) XXX_DiscardUnknown() {
xxx_messageInfo_PeerSystemMeta.DiscardUnknown(m)
}
var xxx_messageInfo_PeerSystemMeta proto.InternalMessageInfo
func (m *PeerSystemMeta) GetHostname() string {
if m != nil {
return m.Hostname
}
return ""
}
func (m *PeerSystemMeta) GetGoOS() string {
if m != nil {
return m.GoOS
}
return ""
}
func (m *PeerSystemMeta) GetKernel() string {
if m != nil {
return m.Kernel
}
return ""
}
func (m *PeerSystemMeta) GetCore() string {
if m != nil {
return m.Core
}
return ""
}
func (m *PeerSystemMeta) GetPlatform() string {
if m != nil {
return m.Platform
}
return ""
}
func (m *PeerSystemMeta) GetOS() string {
if m != nil {
return m.OS
}
return ""
}
func (m *PeerSystemMeta) GetWiretrusteeVersion() string {
if m != nil {
return m.WiretrusteeVersion
}
return ""
}
func (m *PeerSystemMeta) GetUiVersion() string {
if m != nil {
return m.UiVersion
}
return ""
}
func (m *PeerSystemMeta) GetKernelVersion() string {
if m != nil {
return m.KernelVersion
}
return ""
}
func (m *PeerSystemMeta) GetOSVersion() string {
if m != nil {
return m.OSVersion
}
return ""
}
func (m *PeerSystemMeta) GetNetworkAddresses() []*NetworkAddress {
if m != nil {
return m.NetworkAddresses
}
return nil
}
func (m *PeerSystemMeta) GetSysSerialNumber() string {
if m != nil {
return m.SysSerialNumber
}
return ""
}
func (m *PeerSystemMeta) GetSysProductName() string {
if m != nil {
return m.SysProductName
}
return ""
}
func (m *PeerSystemMeta) GetSysManufacturer() string {
if m != nil {
return m.SysManufacturer
}
return ""
}
func (m *PeerSystemMeta) GetEnvironment() *Environment {
if m != nil {
return m.Environment
}
return nil
}
type LoginResponse struct {
// Global config
WiretrusteeConfig *WiretrusteeConfig `protobuf:"bytes,1,opt,name=wiretrusteeConfig,proto3" json:"wiretrusteeConfig,omitempty"`
// Peer local config
PeerConfig *PeerConfig `protobuf:"bytes,2,opt,name=peerConfig,proto3" json:"peerConfig,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *LoginResponse) Reset() { *m = LoginResponse{} }
func (m *LoginResponse) String() string { return proto.CompactTextString(m) }
func (*LoginResponse) ProtoMessage() {}
func (*LoginResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{7}
}
func (m *LoginResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LoginResponse.Unmarshal(m, b)
}
func (m *LoginResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LoginResponse.Marshal(b, m, deterministic)
}
func (m *LoginResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_LoginResponse.Merge(m, src)
}
func (m *LoginResponse) XXX_Size() int {
return xxx_messageInfo_LoginResponse.Size(m)
}
func (m *LoginResponse) XXX_DiscardUnknown() {
xxx_messageInfo_LoginResponse.DiscardUnknown(m)
}
var xxx_messageInfo_LoginResponse proto.InternalMessageInfo
func (m *LoginResponse) GetWiretrusteeConfig() *WiretrusteeConfig {
if m != nil {
return m.WiretrusteeConfig
}
return nil
}
func (m *LoginResponse) GetPeerConfig() *PeerConfig {
if m != nil {
return m.PeerConfig
}
return nil
}
type ServerKeyResponse struct {
// 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 Wiretrustee Management Service protocol
Version int32 `protobuf:"varint,3,opt,name=version,proto3" json:"version,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ServerKeyResponse) Reset() { *m = ServerKeyResponse{} }
func (m *ServerKeyResponse) String() string { return proto.CompactTextString(m) }
func (*ServerKeyResponse) ProtoMessage() {}
func (*ServerKeyResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{8}
}
func (m *ServerKeyResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ServerKeyResponse.Unmarshal(m, b)
}
func (m *ServerKeyResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ServerKeyResponse.Marshal(b, m, deterministic)
}
func (m *ServerKeyResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_ServerKeyResponse.Merge(m, src)
}
func (m *ServerKeyResponse) XXX_Size() int {
return xxx_messageInfo_ServerKeyResponse.Size(m)
}
func (m *ServerKeyResponse) XXX_DiscardUnknown() {
xxx_messageInfo_ServerKeyResponse.DiscardUnknown(m)
}
var xxx_messageInfo_ServerKeyResponse proto.InternalMessageInfo
func (m *ServerKeyResponse) GetKey() string {
if m != nil {
return m.Key
}
return ""
}
func (m *ServerKeyResponse) GetExpiresAt() *timestamppb.Timestamp {
if m != nil {
return m.ExpiresAt
}
return nil
}
func (m *ServerKeyResponse) GetVersion() int32 {
if m != nil {
return m.Version
}
return 0
}
type Empty struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Empty) Reset() { *m = Empty{} }
func (m *Empty) String() string { return proto.CompactTextString(m) }
func (*Empty) ProtoMessage() {}
func (*Empty) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{9}
}
func (m *Empty) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Empty.Unmarshal(m, b)
}
func (m *Empty) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Empty.Marshal(b, m, deterministic)
}
func (m *Empty) XXX_Merge(src proto.Message) {
xxx_messageInfo_Empty.Merge(m, src)
}
func (m *Empty) XXX_Size() int {
return xxx_messageInfo_Empty.Size(m)
}
func (m *Empty) XXX_DiscardUnknown() {
xxx_messageInfo_Empty.DiscardUnknown(m)
}
var xxx_messageInfo_Empty proto.InternalMessageInfo
// WiretrusteeConfig is a common configuration of any Wiretrustee peer. It contains STUN, TURN, Signal and Management servers configurations
type WiretrusteeConfig struct {
// 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"`
RelayAddress string `protobuf:"bytes,4,opt,name=RelayAddress,proto3" json:"RelayAddress,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *WiretrusteeConfig) Reset() { *m = WiretrusteeConfig{} }
func (m *WiretrusteeConfig) String() string { return proto.CompactTextString(m) }
func (*WiretrusteeConfig) ProtoMessage() {}
func (*WiretrusteeConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{10}
}
func (m *WiretrusteeConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_WiretrusteeConfig.Unmarshal(m, b)
}
func (m *WiretrusteeConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_WiretrusteeConfig.Marshal(b, m, deterministic)
}
func (m *WiretrusteeConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_WiretrusteeConfig.Merge(m, src)
}
func (m *WiretrusteeConfig) XXX_Size() int {
return xxx_messageInfo_WiretrusteeConfig.Size(m)
}
func (m *WiretrusteeConfig) XXX_DiscardUnknown() {
xxx_messageInfo_WiretrusteeConfig.DiscardUnknown(m)
}
var xxx_messageInfo_WiretrusteeConfig proto.InternalMessageInfo
func (m *WiretrusteeConfig) GetStuns() []*HostConfig {
if m != nil {
return m.Stuns
}
return nil
}
func (m *WiretrusteeConfig) GetTurns() []*ProtectedHostConfig {
if m != nil {
return m.Turns
}
return nil
}
func (m *WiretrusteeConfig) GetSignal() *HostConfig {
if m != nil {
return m.Signal
}
return nil
}
func (m *WiretrusteeConfig) GetRelayAddress() string {
if m != nil {
return m.RelayAddress
}
return ""
}
// HostConfig describes connection properties of some server (e.g. STUN, Signal, Management)
type HostConfig struct {
// URI of the resource e.g. turns://stun.wiretrustee.com:4430 or signal.wiretrustee.com: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"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *HostConfig) Reset() { *m = HostConfig{} }
func (m *HostConfig) String() string { return proto.CompactTextString(m) }
func (*HostConfig) ProtoMessage() {}
func (*HostConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{11}
}
func (m *HostConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_HostConfig.Unmarshal(m, b)
}
func (m *HostConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_HostConfig.Marshal(b, m, deterministic)
}
func (m *HostConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_HostConfig.Merge(m, src)
}
func (m *HostConfig) XXX_Size() int {
return xxx_messageInfo_HostConfig.Size(m)
}
func (m *HostConfig) XXX_DiscardUnknown() {
xxx_messageInfo_HostConfig.DiscardUnknown(m)
}
var xxx_messageInfo_HostConfig proto.InternalMessageInfo
func (m *HostConfig) GetUri() string {
if m != nil {
return m.Uri
}
return ""
}
func (m *HostConfig) GetProtocol() HostConfig_Protocol {
if m != nil {
return m.Protocol
}
return HostConfig_UDP
}
// ProtectedHostConfig is similar to HostConfig but has additional user and password
// Mostly used for TURN servers
type ProtectedHostConfig struct {
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"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ProtectedHostConfig) Reset() { *m = ProtectedHostConfig{} }
func (m *ProtectedHostConfig) String() string { return proto.CompactTextString(m) }
func (*ProtectedHostConfig) ProtoMessage() {}
func (*ProtectedHostConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{12}
}
func (m *ProtectedHostConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ProtectedHostConfig.Unmarshal(m, b)
}
func (m *ProtectedHostConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ProtectedHostConfig.Marshal(b, m, deterministic)
}
func (m *ProtectedHostConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_ProtectedHostConfig.Merge(m, src)
}
func (m *ProtectedHostConfig) XXX_Size() int {
return xxx_messageInfo_ProtectedHostConfig.Size(m)
}
func (m *ProtectedHostConfig) XXX_DiscardUnknown() {
xxx_messageInfo_ProtectedHostConfig.DiscardUnknown(m)
}
var xxx_messageInfo_ProtectedHostConfig proto.InternalMessageInfo
func (m *ProtectedHostConfig) GetHostConfig() *HostConfig {
if m != nil {
return m.HostConfig
}
return nil
}
func (m *ProtectedHostConfig) GetUser() string {
if m != nil {
return m.User
}
return ""
}
func (m *ProtectedHostConfig) GetPassword() string {
if m != nil {
return m.Password
}
return ""
}
// PeerConfig represents a configuration of a "our" peer.
// The properties are used to configure local Wireguard
type PeerConfig struct {
// Peer's virtual IP address within the Wiretrustee VPN (a Wireguard address config)
Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
// Wiretrustee 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"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PeerConfig) Reset() { *m = PeerConfig{} }
func (m *PeerConfig) String() string { return proto.CompactTextString(m) }
func (*PeerConfig) ProtoMessage() {}
func (*PeerConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{13}
}
func (m *PeerConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PeerConfig.Unmarshal(m, b)
}
func (m *PeerConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PeerConfig.Marshal(b, m, deterministic)
}
func (m *PeerConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_PeerConfig.Merge(m, src)
}
func (m *PeerConfig) XXX_Size() int {
return xxx_messageInfo_PeerConfig.Size(m)
}
func (m *PeerConfig) XXX_DiscardUnknown() {
xxx_messageInfo_PeerConfig.DiscardUnknown(m)
}
var xxx_messageInfo_PeerConfig proto.InternalMessageInfo
func (m *PeerConfig) GetAddress() string {
if m != nil {
return m.Address
}
return ""
}
func (m *PeerConfig) GetDns() string {
if m != nil {
return m.Dns
}
return ""
}
func (m *PeerConfig) GetSshConfig() *SSHConfig {
if m != nil {
return m.SshConfig
}
return nil
}
func (m *PeerConfig) GetFqdn() string {
if m != nil {
return m.Fqdn
}
return ""
}
// NetworkMap represents a network state of the peer with the corresponding configuration parameters to establish peer-to-peer connections
type NetworkMap struct {
// 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"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *NetworkMap) Reset() { *m = NetworkMap{} }
func (m *NetworkMap) String() string { return proto.CompactTextString(m) }
func (*NetworkMap) ProtoMessage() {}
func (*NetworkMap) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{14}
}
func (m *NetworkMap) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NetworkMap.Unmarshal(m, b)
}
func (m *NetworkMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_NetworkMap.Marshal(b, m, deterministic)
}
func (m *NetworkMap) XXX_Merge(src proto.Message) {
xxx_messageInfo_NetworkMap.Merge(m, src)
}
func (m *NetworkMap) XXX_Size() int {
return xxx_messageInfo_NetworkMap.Size(m)
}
func (m *NetworkMap) XXX_DiscardUnknown() {
xxx_messageInfo_NetworkMap.DiscardUnknown(m)
}
var xxx_messageInfo_NetworkMap proto.InternalMessageInfo
func (m *NetworkMap) GetSerial() uint64 {
if m != nil {
return m.Serial
}
return 0
}
func (m *NetworkMap) GetPeerConfig() *PeerConfig {
if m != nil {
return m.PeerConfig
}
return nil
}
func (m *NetworkMap) GetRemotePeers() []*RemotePeerConfig {
if m != nil {
return m.RemotePeers
}
return nil
}
func (m *NetworkMap) GetRemotePeersIsEmpty() bool {
if m != nil {
return m.RemotePeersIsEmpty
}
return false
}
func (m *NetworkMap) GetRoutes() []*Route {
if m != nil {
return m.Routes
}
return nil
}
func (m *NetworkMap) GetDNSConfig() *DNSConfig {
if m != nil {
return m.DNSConfig
}
return nil
}
func (m *NetworkMap) GetOfflinePeers() []*RemotePeerConfig {
if m != nil {
return m.OfflinePeers
}
return nil
}
func (m *NetworkMap) GetFirewallRules() []*FirewallRule {
if m != nil {
return m.FirewallRules
}
return nil
}
func (m *NetworkMap) GetFirewallRulesIsEmpty() bool {
if m != nil {
return m.FirewallRulesIsEmpty
}
return false
}
// RemotePeerConfig represents a configuration of a remote peer.
// The properties are used to configure WireGuard Peers sections
type RemotePeerConfig struct {
// 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"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RemotePeerConfig) Reset() { *m = RemotePeerConfig{} }
func (m *RemotePeerConfig) String() string { return proto.CompactTextString(m) }
func (*RemotePeerConfig) ProtoMessage() {}
func (*RemotePeerConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{15}
}
func (m *RemotePeerConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RemotePeerConfig.Unmarshal(m, b)
}
func (m *RemotePeerConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RemotePeerConfig.Marshal(b, m, deterministic)
}
func (m *RemotePeerConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_RemotePeerConfig.Merge(m, src)
}
func (m *RemotePeerConfig) XXX_Size() int {
return xxx_messageInfo_RemotePeerConfig.Size(m)
}
func (m *RemotePeerConfig) XXX_DiscardUnknown() {
xxx_messageInfo_RemotePeerConfig.DiscardUnknown(m)
}
var xxx_messageInfo_RemotePeerConfig proto.InternalMessageInfo
func (m *RemotePeerConfig) GetWgPubKey() string {
if m != nil {
return m.WgPubKey
}
return ""
}
func (m *RemotePeerConfig) GetAllowedIps() []string {
if m != nil {
return m.AllowedIps
}
return nil
}
func (m *RemotePeerConfig) GetSshConfig() *SSHConfig {
if m != nil {
return m.SshConfig
}
return nil
}
func (m *RemotePeerConfig) GetFqdn() string {
if m != nil {
return m.Fqdn
}
return ""
}
// SSHConfig represents SSH configurations of a peer.
type SSHConfig struct {
// 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"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SSHConfig) Reset() { *m = SSHConfig{} }
func (m *SSHConfig) String() string { return proto.CompactTextString(m) }
func (*SSHConfig) ProtoMessage() {}
func (*SSHConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{16}
}
func (m *SSHConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SSHConfig.Unmarshal(m, b)
}
func (m *SSHConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SSHConfig.Marshal(b, m, deterministic)
}
func (m *SSHConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_SSHConfig.Merge(m, src)
}
func (m *SSHConfig) XXX_Size() int {
return xxx_messageInfo_SSHConfig.Size(m)
}
func (m *SSHConfig) XXX_DiscardUnknown() {
xxx_messageInfo_SSHConfig.DiscardUnknown(m)
}
var xxx_messageInfo_SSHConfig proto.InternalMessageInfo
func (m *SSHConfig) GetSshEnabled() bool {
if m != nil {
return m.SshEnabled
}
return false
}
func (m *SSHConfig) GetSshPubKey() []byte {
if m != nil {
return m.SshPubKey
}
return nil
}
// DeviceAuthorizationFlowRequest empty struct for future expansion
type DeviceAuthorizationFlowRequest struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DeviceAuthorizationFlowRequest) Reset() { *m = DeviceAuthorizationFlowRequest{} }
func (m *DeviceAuthorizationFlowRequest) String() string { return proto.CompactTextString(m) }
func (*DeviceAuthorizationFlowRequest) ProtoMessage() {}
func (*DeviceAuthorizationFlowRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{17}
}
func (m *DeviceAuthorizationFlowRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeviceAuthorizationFlowRequest.Unmarshal(m, b)
}
func (m *DeviceAuthorizationFlowRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DeviceAuthorizationFlowRequest.Marshal(b, m, deterministic)
}
func (m *DeviceAuthorizationFlowRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_DeviceAuthorizationFlowRequest.Merge(m, src)
}
func (m *DeviceAuthorizationFlowRequest) XXX_Size() int {
return xxx_messageInfo_DeviceAuthorizationFlowRequest.Size(m)
}
func (m *DeviceAuthorizationFlowRequest) XXX_DiscardUnknown() {
xxx_messageInfo_DeviceAuthorizationFlowRequest.DiscardUnknown(m)
}
var xxx_messageInfo_DeviceAuthorizationFlowRequest proto.InternalMessageInfo
// 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 {
// 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"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DeviceAuthorizationFlow) Reset() { *m = DeviceAuthorizationFlow{} }
func (m *DeviceAuthorizationFlow) String() string { return proto.CompactTextString(m) }
func (*DeviceAuthorizationFlow) ProtoMessage() {}
func (*DeviceAuthorizationFlow) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{18}
}
func (m *DeviceAuthorizationFlow) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeviceAuthorizationFlow.Unmarshal(m, b)
}
func (m *DeviceAuthorizationFlow) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DeviceAuthorizationFlow.Marshal(b, m, deterministic)
}
func (m *DeviceAuthorizationFlow) XXX_Merge(src proto.Message) {
xxx_messageInfo_DeviceAuthorizationFlow.Merge(m, src)
}
func (m *DeviceAuthorizationFlow) XXX_Size() int {
return xxx_messageInfo_DeviceAuthorizationFlow.Size(m)
}
func (m *DeviceAuthorizationFlow) XXX_DiscardUnknown() {
xxx_messageInfo_DeviceAuthorizationFlow.DiscardUnknown(m)
}
var xxx_messageInfo_DeviceAuthorizationFlow proto.InternalMessageInfo
func (m *DeviceAuthorizationFlow) GetProvider() DeviceAuthorizationFlowProvider {
if m != nil {
return m.Provider
}
return DeviceAuthorizationFlow_HOSTED
}
func (m *DeviceAuthorizationFlow) GetProviderConfig() *ProviderConfig {
if m != nil {
return m.ProviderConfig
}
return nil
}
// PKCEAuthorizationFlowRequest empty struct for future expansion
type PKCEAuthorizationFlowRequest struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PKCEAuthorizationFlowRequest) Reset() { *m = PKCEAuthorizationFlowRequest{} }
func (m *PKCEAuthorizationFlowRequest) String() string { return proto.CompactTextString(m) }
func (*PKCEAuthorizationFlowRequest) ProtoMessage() {}
func (*PKCEAuthorizationFlowRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{19}
}
func (m *PKCEAuthorizationFlowRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PKCEAuthorizationFlowRequest.Unmarshal(m, b)
}
func (m *PKCEAuthorizationFlowRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PKCEAuthorizationFlowRequest.Marshal(b, m, deterministic)
}
func (m *PKCEAuthorizationFlowRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_PKCEAuthorizationFlowRequest.Merge(m, src)
}
func (m *PKCEAuthorizationFlowRequest) XXX_Size() int {
return xxx_messageInfo_PKCEAuthorizationFlowRequest.Size(m)
}
func (m *PKCEAuthorizationFlowRequest) XXX_DiscardUnknown() {
xxx_messageInfo_PKCEAuthorizationFlowRequest.DiscardUnknown(m)
}
var xxx_messageInfo_PKCEAuthorizationFlowRequest proto.InternalMessageInfo
// 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 {
ProviderConfig *ProviderConfig `protobuf:"bytes,1,opt,name=ProviderConfig,proto3" json:"ProviderConfig,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PKCEAuthorizationFlow) Reset() { *m = PKCEAuthorizationFlow{} }
func (m *PKCEAuthorizationFlow) String() string { return proto.CompactTextString(m) }
func (*PKCEAuthorizationFlow) ProtoMessage() {}
func (*PKCEAuthorizationFlow) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{20}
}
func (m *PKCEAuthorizationFlow) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PKCEAuthorizationFlow.Unmarshal(m, b)
}
func (m *PKCEAuthorizationFlow) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PKCEAuthorizationFlow.Marshal(b, m, deterministic)
}
func (m *PKCEAuthorizationFlow) XXX_Merge(src proto.Message) {
xxx_messageInfo_PKCEAuthorizationFlow.Merge(m, src)
}
func (m *PKCEAuthorizationFlow) XXX_Size() int {
return xxx_messageInfo_PKCEAuthorizationFlow.Size(m)
}
func (m *PKCEAuthorizationFlow) XXX_DiscardUnknown() {
xxx_messageInfo_PKCEAuthorizationFlow.DiscardUnknown(m)
}
var xxx_messageInfo_PKCEAuthorizationFlow proto.InternalMessageInfo
func (m *PKCEAuthorizationFlow) GetProviderConfig() *ProviderConfig {
if m != nil {
return m.ProviderConfig
}
return nil
}
// ProviderConfig has all attributes needed to initiate a device/pkce authorization flow
type ProviderConfig struct {
// An IDP application client id
ClientID string `protobuf:"bytes,1,opt,name=ClientID,proto3" json:"ClientID,omitempty"`
// An IDP application client secret
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"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ProviderConfig) Reset() { *m = ProviderConfig{} }
func (m *ProviderConfig) String() string { return proto.CompactTextString(m) }
func (*ProviderConfig) ProtoMessage() {}
func (*ProviderConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{21}
}
func (m *ProviderConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ProviderConfig.Unmarshal(m, b)
}
func (m *ProviderConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ProviderConfig.Marshal(b, m, deterministic)
}
func (m *ProviderConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_ProviderConfig.Merge(m, src)
}
func (m *ProviderConfig) XXX_Size() int {
return xxx_messageInfo_ProviderConfig.Size(m)
}
func (m *ProviderConfig) XXX_DiscardUnknown() {
xxx_messageInfo_ProviderConfig.DiscardUnknown(m)
}
var xxx_messageInfo_ProviderConfig proto.InternalMessageInfo
func (m *ProviderConfig) GetClientID() string {
if m != nil {
return m.ClientID
}
return ""
}
func (m *ProviderConfig) GetClientSecret() string {
if m != nil {
return m.ClientSecret
}
return ""
}
func (m *ProviderConfig) GetDomain() string {
if m != nil {
return m.Domain
}
return ""
}
func (m *ProviderConfig) GetAudience() string {
if m != nil {
return m.Audience
}
return ""
}
func (m *ProviderConfig) GetDeviceAuthEndpoint() string {
if m != nil {
return m.DeviceAuthEndpoint
}
return ""
}
func (m *ProviderConfig) GetTokenEndpoint() string {
if m != nil {
return m.TokenEndpoint
}
return ""
}
func (m *ProviderConfig) GetScope() string {
if m != nil {
return m.Scope
}
return ""
}
func (m *ProviderConfig) GetUseIDToken() bool {
if m != nil {
return m.UseIDToken
}
return false
}
func (m *ProviderConfig) GetAuthorizationEndpoint() string {
if m != nil {
return m.AuthorizationEndpoint
}
return ""
}
func (m *ProviderConfig) GetRedirectURLs() []string {
if m != nil {
return m.RedirectURLs
}
return nil
}
// Route represents a route.Route object
type Route struct {
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"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Route) Reset() { *m = Route{} }
func (m *Route) String() string { return proto.CompactTextString(m) }
func (*Route) ProtoMessage() {}
func (*Route) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{22}
}
func (m *Route) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Route.Unmarshal(m, b)
}
func (m *Route) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Route.Marshal(b, m, deterministic)
}
func (m *Route) XXX_Merge(src proto.Message) {
xxx_messageInfo_Route.Merge(m, src)
}
func (m *Route) XXX_Size() int {
return xxx_messageInfo_Route.Size(m)
}
func (m *Route) XXX_DiscardUnknown() {
xxx_messageInfo_Route.DiscardUnknown(m)
}
var xxx_messageInfo_Route proto.InternalMessageInfo
func (m *Route) GetID() string {
if m != nil {
return m.ID
}
return ""
}
func (m *Route) GetNetwork() string {
if m != nil {
return m.Network
}
return ""
}
func (m *Route) GetNetworkType() int64 {
if m != nil {
return m.NetworkType
}
return 0
}
func (m *Route) GetPeer() string {
if m != nil {
return m.Peer
}
return ""
}
func (m *Route) GetMetric() int64 {
if m != nil {
return m.Metric
}
return 0
}
func (m *Route) GetMasquerade() bool {
if m != nil {
return m.Masquerade
}
return false
}
func (m *Route) GetNetID() string {
if m != nil {
return m.NetID
}
return ""
}
// DNSConfig represents a dns.Update
type DNSConfig struct {
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"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DNSConfig) Reset() { *m = DNSConfig{} }
func (m *DNSConfig) String() string { return proto.CompactTextString(m) }
func (*DNSConfig) ProtoMessage() {}
func (*DNSConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{23}
}
func (m *DNSConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DNSConfig.Unmarshal(m, b)
}
func (m *DNSConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DNSConfig.Marshal(b, m, deterministic)
}
func (m *DNSConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_DNSConfig.Merge(m, src)
}
func (m *DNSConfig) XXX_Size() int {
return xxx_messageInfo_DNSConfig.Size(m)
}
func (m *DNSConfig) XXX_DiscardUnknown() {
xxx_messageInfo_DNSConfig.DiscardUnknown(m)
}
var xxx_messageInfo_DNSConfig proto.InternalMessageInfo
func (m *DNSConfig) GetServiceEnable() bool {
if m != nil {
return m.ServiceEnable
}
return false
}
func (m *DNSConfig) GetNameServerGroups() []*NameServerGroup {
if m != nil {
return m.NameServerGroups
}
return nil
}
func (m *DNSConfig) GetCustomZones() []*CustomZone {
if m != nil {
return m.CustomZones
}
return nil
}
// CustomZone represents a dns.CustomZone
type CustomZone struct {
Domain string `protobuf:"bytes,1,opt,name=Domain,proto3" json:"Domain,omitempty"`
Records []*SimpleRecord `protobuf:"bytes,2,rep,name=Records,proto3" json:"Records,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CustomZone) Reset() { *m = CustomZone{} }
func (m *CustomZone) String() string { return proto.CompactTextString(m) }
func (*CustomZone) ProtoMessage() {}
func (*CustomZone) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{24}
}
func (m *CustomZone) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CustomZone.Unmarshal(m, b)
}
func (m *CustomZone) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CustomZone.Marshal(b, m, deterministic)
}
func (m *CustomZone) XXX_Merge(src proto.Message) {
xxx_messageInfo_CustomZone.Merge(m, src)
}
func (m *CustomZone) XXX_Size() int {
return xxx_messageInfo_CustomZone.Size(m)
}
func (m *CustomZone) XXX_DiscardUnknown() {
xxx_messageInfo_CustomZone.DiscardUnknown(m)
}
var xxx_messageInfo_CustomZone proto.InternalMessageInfo
func (m *CustomZone) GetDomain() string {
if m != nil {
return m.Domain
}
return ""
}
func (m *CustomZone) GetRecords() []*SimpleRecord {
if m != nil {
return m.Records
}
return nil
}
// SimpleRecord represents a dns.SimpleRecord
type SimpleRecord struct {
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"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SimpleRecord) Reset() { *m = SimpleRecord{} }
func (m *SimpleRecord) String() string { return proto.CompactTextString(m) }
func (*SimpleRecord) ProtoMessage() {}
func (*SimpleRecord) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{25}
}
func (m *SimpleRecord) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SimpleRecord.Unmarshal(m, b)
}
func (m *SimpleRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SimpleRecord.Marshal(b, m, deterministic)
}
func (m *SimpleRecord) XXX_Merge(src proto.Message) {
xxx_messageInfo_SimpleRecord.Merge(m, src)
}
func (m *SimpleRecord) XXX_Size() int {
return xxx_messageInfo_SimpleRecord.Size(m)
}
func (m *SimpleRecord) XXX_DiscardUnknown() {
xxx_messageInfo_SimpleRecord.DiscardUnknown(m)
}
var xxx_messageInfo_SimpleRecord proto.InternalMessageInfo
func (m *SimpleRecord) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *SimpleRecord) GetType() int64 {
if m != nil {
return m.Type
}
return 0
}
func (m *SimpleRecord) GetClass() string {
if m != nil {
return m.Class
}
return ""
}
func (m *SimpleRecord) GetTTL() int64 {
if m != nil {
return m.TTL
}
return 0
}
func (m *SimpleRecord) GetRData() string {
if m != nil {
return m.RData
}
return ""
}
// NameServerGroup represents a dns.NameServerGroup
type NameServerGroup struct {
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"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *NameServerGroup) Reset() { *m = NameServerGroup{} }
func (m *NameServerGroup) String() string { return proto.CompactTextString(m) }
func (*NameServerGroup) ProtoMessage() {}
func (*NameServerGroup) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{26}
}
func (m *NameServerGroup) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NameServerGroup.Unmarshal(m, b)
}
func (m *NameServerGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_NameServerGroup.Marshal(b, m, deterministic)
}
func (m *NameServerGroup) XXX_Merge(src proto.Message) {
xxx_messageInfo_NameServerGroup.Merge(m, src)
}
func (m *NameServerGroup) XXX_Size() int {
return xxx_messageInfo_NameServerGroup.Size(m)
}
func (m *NameServerGroup) XXX_DiscardUnknown() {
xxx_messageInfo_NameServerGroup.DiscardUnknown(m)
}
var xxx_messageInfo_NameServerGroup proto.InternalMessageInfo
func (m *NameServerGroup) GetNameServers() []*NameServer {
if m != nil {
return m.NameServers
}
return nil
}
func (m *NameServerGroup) GetPrimary() bool {
if m != nil {
return m.Primary
}
return false
}
func (m *NameServerGroup) GetDomains() []string {
if m != nil {
return m.Domains
}
return nil
}
func (m *NameServerGroup) GetSearchDomainsEnabled() bool {
if m != nil {
return m.SearchDomainsEnabled
}
return false
}
// NameServer represents a dns.NameServer
type NameServer struct {
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"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *NameServer) Reset() { *m = NameServer{} }
func (m *NameServer) String() string { return proto.CompactTextString(m) }
func (*NameServer) ProtoMessage() {}
func (*NameServer) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{27}
}
func (m *NameServer) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NameServer.Unmarshal(m, b)
}
func (m *NameServer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_NameServer.Marshal(b, m, deterministic)
}
func (m *NameServer) XXX_Merge(src proto.Message) {
xxx_messageInfo_NameServer.Merge(m, src)
}
func (m *NameServer) XXX_Size() int {
return xxx_messageInfo_NameServer.Size(m)
}
func (m *NameServer) XXX_DiscardUnknown() {
xxx_messageInfo_NameServer.DiscardUnknown(m)
}
var xxx_messageInfo_NameServer proto.InternalMessageInfo
func (m *NameServer) GetIP() string {
if m != nil {
return m.IP
}
return ""
}
func (m *NameServer) GetNSType() int64 {
if m != nil {
return m.NSType
}
return 0
}
func (m *NameServer) GetPort() int64 {
if m != nil {
return m.Port
}
return 0
}
// FirewallRule represents a firewall rule
type FirewallRule struct {
PeerIP string `protobuf:"bytes,1,opt,name=PeerIP,proto3" json:"PeerIP,omitempty"`
Direction FirewallRuleDirection `protobuf:"varint,2,opt,name=Direction,proto3,enum=management.FirewallRuleDirection" json:"Direction,omitempty"`
Action FirewallRuleAction `protobuf:"varint,3,opt,name=Action,proto3,enum=management.FirewallRuleAction" json:"Action,omitempty"`
Protocol FirewallRuleProtocol `protobuf:"varint,4,opt,name=Protocol,proto3,enum=management.FirewallRuleProtocol" json:"Protocol,omitempty"`
Port string `protobuf:"bytes,5,opt,name=Port,proto3" json:"Port,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *FirewallRule) Reset() { *m = FirewallRule{} }
func (m *FirewallRule) String() string { return proto.CompactTextString(m) }
func (*FirewallRule) ProtoMessage() {}
func (*FirewallRule) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{28}
}
func (m *FirewallRule) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FirewallRule.Unmarshal(m, b)
}
func (m *FirewallRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_FirewallRule.Marshal(b, m, deterministic)
}
func (m *FirewallRule) XXX_Merge(src proto.Message) {
xxx_messageInfo_FirewallRule.Merge(m, src)
}
func (m *FirewallRule) XXX_Size() int {
return xxx_messageInfo_FirewallRule.Size(m)
}
func (m *FirewallRule) XXX_DiscardUnknown() {
xxx_messageInfo_FirewallRule.DiscardUnknown(m)
}
var xxx_messageInfo_FirewallRule proto.InternalMessageInfo
func (m *FirewallRule) GetPeerIP() string {
if m != nil {
return m.PeerIP
}
return ""
}
func (m *FirewallRule) GetDirection() FirewallRuleDirection {
if m != nil {
return m.Direction
}
return FirewallRule_IN
}
func (m *FirewallRule) GetAction() FirewallRuleAction {
if m != nil {
return m.Action
}
return FirewallRule_ACCEPT
}
func (m *FirewallRule) GetProtocol() FirewallRuleProtocol {
if m != nil {
return m.Protocol
}
return FirewallRule_UNKNOWN
}
func (m *FirewallRule) GetPort() string {
if m != nil {
return m.Port
}
return ""
}
type NetworkAddress struct {
NetIP string `protobuf:"bytes,1,opt,name=netIP,proto3" json:"netIP,omitempty"`
Mac string `protobuf:"bytes,2,opt,name=mac,proto3" json:"mac,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *NetworkAddress) Reset() { *m = NetworkAddress{} }
func (m *NetworkAddress) String() string { return proto.CompactTextString(m) }
func (*NetworkAddress) ProtoMessage() {}
func (*NetworkAddress) Descriptor() ([]byte, []int) {
return fileDescriptor_edc174f991dc0a25, []int{29}
}
func (m *NetworkAddress) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NetworkAddress.Unmarshal(m, b)
}
func (m *NetworkAddress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_NetworkAddress.Marshal(b, m, deterministic)
}
func (m *NetworkAddress) XXX_Merge(src proto.Message) {
xxx_messageInfo_NetworkAddress.Merge(m, src)
}
func (m *NetworkAddress) XXX_Size() int {
return xxx_messageInfo_NetworkAddress.Size(m)
}
func (m *NetworkAddress) XXX_DiscardUnknown() {
xxx_messageInfo_NetworkAddress.DiscardUnknown(m)
}
var xxx_messageInfo_NetworkAddress proto.InternalMessageInfo
func (m *NetworkAddress) GetNetIP() string {
if m != nil {
return m.NetIP
}
return ""
}
func (m *NetworkAddress) GetMac() string {
if m != nil {
return m.Mac
}
return ""
}
func init() {
proto.RegisterEnum("management.HostConfig_Protocol", HostConfig_Protocol_name, HostConfig_Protocol_value)
proto.RegisterEnum("management.DeviceAuthorizationFlowProvider", DeviceAuthorizationFlowProvider_name, DeviceAuthorizationFlowProvider_value)
proto.RegisterEnum("management.FirewallRuleDirection", FirewallRuleDirection_name, FirewallRuleDirection_value)
proto.RegisterEnum("management.FirewallRuleAction", FirewallRuleAction_name, FirewallRuleAction_value)
proto.RegisterEnum("management.FirewallRuleProtocol", FirewallRuleProtocol_name, FirewallRuleProtocol_value)
proto.RegisterType((*EncryptedMessage)(nil), "management.EncryptedMessage")
proto.RegisterType((*SyncRequest)(nil), "management.SyncRequest")
proto.RegisterType((*SyncResponse)(nil), "management.SyncResponse")
proto.RegisterType((*LoginRequest)(nil), "management.LoginRequest")
proto.RegisterType((*PeerKeys)(nil), "management.PeerKeys")
proto.RegisterType((*Environment)(nil), "management.Environment")
proto.RegisterType((*PeerSystemMeta)(nil), "management.PeerSystemMeta")
proto.RegisterType((*LoginResponse)(nil), "management.LoginResponse")
proto.RegisterType((*ServerKeyResponse)(nil), "management.ServerKeyResponse")
proto.RegisterType((*Empty)(nil), "management.Empty")
proto.RegisterType((*WiretrusteeConfig)(nil), "management.WiretrusteeConfig")
proto.RegisterType((*HostConfig)(nil), "management.HostConfig")
proto.RegisterType((*ProtectedHostConfig)(nil), "management.ProtectedHostConfig")
proto.RegisterType((*PeerConfig)(nil), "management.PeerConfig")
proto.RegisterType((*NetworkMap)(nil), "management.NetworkMap")
proto.RegisterType((*RemotePeerConfig)(nil), "management.RemotePeerConfig")
proto.RegisterType((*SSHConfig)(nil), "management.SSHConfig")
proto.RegisterType((*DeviceAuthorizationFlowRequest)(nil), "management.DeviceAuthorizationFlowRequest")
proto.RegisterType((*DeviceAuthorizationFlow)(nil), "management.DeviceAuthorizationFlow")
proto.RegisterType((*PKCEAuthorizationFlowRequest)(nil), "management.PKCEAuthorizationFlowRequest")
proto.RegisterType((*PKCEAuthorizationFlow)(nil), "management.PKCEAuthorizationFlow")
proto.RegisterType((*ProviderConfig)(nil), "management.ProviderConfig")
proto.RegisterType((*Route)(nil), "management.Route")
proto.RegisterType((*DNSConfig)(nil), "management.DNSConfig")
proto.RegisterType((*CustomZone)(nil), "management.CustomZone")
proto.RegisterType((*SimpleRecord)(nil), "management.SimpleRecord")
proto.RegisterType((*NameServerGroup)(nil), "management.NameServerGroup")
proto.RegisterType((*NameServer)(nil), "management.NameServer")
proto.RegisterType((*FirewallRule)(nil), "management.FirewallRule")
proto.RegisterType((*NetworkAddress)(nil), "management.NetworkAddress")
}
func init() {
proto.RegisterFile("management.proto", fileDescriptor_edc174f991dc0a25)
}
var fileDescriptor_edc174f991dc0a25 = []byte{
// 1923 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0x4d, 0x6f, 0x23, 0x49,
0x19, 0x4e, 0xdb, 0xb1, 0x63, 0xbf, 0x76, 0x32, 0x4e, 0x31, 0x33, 0xdb, 0x0a, 0x61, 0x36, 0xb4,
0x10, 0x0a, 0xd2, 0x2a, 0xbb, 0xca, 0xf2, 0x31, 0x68, 0x61, 0xd9, 0x4c, 0x9c, 0x49, 0xa2, 0x24,
0x8e, 0x55, 0xed, 0xb0, 0xa3, 0x81, 0x4b, 0xa7, 0xbb, 0xe2, 0x34, 0xd3, 0xee, 0xf2, 0x54, 0x55,
0x27, 0x18, 0x89, 0x03, 0xff, 0x01, 0x09, 0x7e, 0x02, 0x9c, 0x81, 0x13, 0x07, 0xfe, 0x00, 0x17,
0xfe, 0x02, 0x47, 0x4e, 0xfc, 0x04, 0x54, 0x5f, 0xfd, 0x61, 0x3b, 0x23, 0xd0, 0x70, 0x80, 0x53,
0xea, 0xfd, 0xec, 0xb7, 0x9e, 0x7a, 0xeb, 0xad, 0xc7, 0x81, 0xde, 0x24, 0x48, 0x83, 0x31, 0x99,
0x90, 0x54, 0xec, 0x4d, 0x19, 0x15, 0x14, 0x41, 0xa1, 0xd9, 0xfa, 0x70, 0x4c, 0xe9, 0x38, 0x21,
0x1f, 0x2b, 0xcb, 0x75, 0x76, 0xf3, 0xb1, 0x88, 0x27, 0x84, 0x8b, 0x60, 0x32, 0xd5, 0xce, 0xde,
0x4f, 0xa1, 0x77, 0x94, 0x86, 0x6c, 0x36, 0x15, 0x24, 0xba, 0x20, 0x9c, 0x07, 0x63, 0x82, 0xb6,
0xa0, 0x75, 0x3f, 0x1e, 0x66, 0xd7, 0x67, 0x64, 0xe6, 0x3a, 0x3b, 0xce, 0x6e, 0x1b, 0xe7, 0x32,
0x42, 0xb0, 0x7a, 0x4d, 0xa3, 0x99, 0x5b, 0xdb, 0x71, 0x76, 0xbb, 0x58, 0xad, 0x91, 0x0b, 0x6b,
0x77, 0x84, 0xf1, 0x98, 0xa6, 0x6e, 0x7d, 0xc7, 0xd9, 0x6d, 0x60, 0x2b, 0x7a, 0xeb, 0xd0, 0xf1,
0x67, 0x69, 0x88, 0xc9, 0xdb, 0x8c, 0x70, 0xe1, 0xfd, 0xb9, 0x06, 0x5d, 0x2d, 0xf3, 0x29, 0x4d,
0x39, 0x41, 0x67, 0xb0, 0x79, 0x1f, 0x33, 0x22, 0x58, 0xc6, 0x05, 0x21, 0x87, 0x34, 0xbd, 0x89,
0xc7, 0xea, 0x93, 0x9d, 0xfd, 0xaf, 0xed, 0x95, 0x36, 0xf6, 0xe5, 0xbc, 0x13, 0x5e, 0x8c, 0x43,
0xdf, 0x05, 0x98, 0x12, 0xc2, 0x4c, 0x96, 0x9a, 0xca, 0xf2, 0xb4, 0x9c, 0x65, 0x98, 0x5b, 0x71,
0xc9, 0x13, 0x7d, 0x0e, 0x1d, 0x46, 0x26, 0x54, 0x10, 0x69, 0xe7, 0x6e, 0x7d, 0xa7, 0xbe, 0xdb,
0xd9, 0xdf, 0x2e, 0x07, 0xe2, 0xdc, 0x6c, 0xc2, 0xcb, 0x01, 0x68, 0x0f, 0x50, 0x49, 0x3c, 0xe5,
0x47, 0x93, 0xa9, 0x98, 0xb9, 0xab, 0x3b, 0xce, 0x6e, 0x0b, 0x2f, 0xb1, 0xc8, 0x3a, 0x07, 0x44,
0xdc, 0x53, 0xf6, 0xe6, 0x22, 0x98, 0xba, 0x8d, 0xc5, 0x3a, 0x0b, 0x2b, 0x2e, 0x79, 0x7a, 0xbf,
0x73, 0xa0, 0x7b, 0x4e, 0xc7, 0x71, 0x6a, 0xe0, 0x94, 0xe7, 0xc4, 0x89, 0xc8, 0xa6, 0xa5, 0x73,
0xb2, 0x32, 0xda, 0x83, 0xd5, 0x09, 0x11, 0x81, 0x81, 0x61, 0x6b, 0x1e, 0x06, 0x7f, 0xc6, 0x05,
0x99, 0x5c, 0x10, 0x11, 0x60, 0xe5, 0x27, 0x73, 0xfd, 0xec, 0x5e, 0x8c, 0xe8, 0x1b, 0xa2, 0x0f,
0xb1, 0x8d, 0x73, 0x19, 0x7d, 0x02, 0x2d, 0x09, 0xd7, 0x19, 0x99, 0x71, 0xb5, 0xad, 0xce, 0xfe,
0xe3, 0xf9, 0x7c, 0xd2, 0x86, 0x73, 0x2f, 0xaf, 0x0f, 0x2d, 0xab, 0x45, 0xdb, 0xd0, 0xe6, 0xfc,
0xb6, 0xd4, 0x4e, 0x5d, 0x5c, 0x28, 0x2a, 0xbd, 0xa6, 0x7b, 0x2a, 0x97, 0xbd, 0x1f, 0x41, 0xe7,
0x28, 0xbd, 0x8b, 0x19, 0x4d, 0xe5, 0x77, 0xd0, 0x63, 0x68, 0x84, 0x09, 0xcd, 0x22, 0xb3, 0x57,
0x2d, 0xc8, 0x04, 0xd3, 0x24, 0x10, 0x37, 0x94, 0x4d, 0x54, 0x82, 0x36, 0xce, 0x65, 0xef, 0xf7,
0xab, 0xb0, 0x51, 0xdd, 0xad, 0x74, 0xbf, 0xa5, 0x5c, 0xa4, 0xc1, 0x84, 0x58, 0xcc, 0xac, 0x2c,
0x7b, 0x7b, 0x4c, 0x2f, 0x7d, 0x93, 0x46, 0xad, 0xd1, 0x53, 0x68, 0xbe, 0x21, 0x2c, 0x25, 0x89,
0x41, 0xc5, 0x48, 0xd2, 0x37, 0xa4, 0x8c, 0x28, 0x3c, 0xda, 0x58, 0xad, 0x2b, 0xa5, 0x34, 0xaa,
0xa5, 0xa0, 0x0d, 0xa8, 0x5d, 0xfa, 0x6e, 0x53, 0x69, 0x6b, 0x97, 0xbe, 0x6c, 0x9a, 0x52, 0x07,
0xff, 0xd8, 0x5c, 0x9f, 0x35, 0x65, 0x5f, 0x62, 0x91, 0x28, 0x66, 0xb1, 0x75, 0x6b, 0x29, 0xb7,
0x42, 0x81, 0xbe, 0x01, 0xeb, 0xba, 0x2e, 0xeb, 0xd1, 0x56, 0x1e, 0x55, 0xa5, 0xcc, 0x71, 0xe9,
0x5b, 0x0f, 0xd0, 0x39, 0x72, 0x05, 0x7a, 0x09, 0xbd, 0x54, 0x37, 0xdb, 0x41, 0x14, 0x31, 0xc2,
0x39, 0xe1, 0x6e, 0x47, 0xdd, 0x85, 0xad, 0x25, 0xcd, 0x69, 0x7c, 0xf0, 0x42, 0x0c, 0xda, 0x85,
0x47, 0x7c, 0xc6, 0x7d, 0xc2, 0xe2, 0x20, 0x19, 0x64, 0x93, 0x6b, 0xc2, 0xdc, 0xae, 0xfa, 0xd6,
0xbc, 0x1a, 0x7d, 0x13, 0x36, 0xf8, 0x8c, 0x0f, 0x19, 0x8d, 0xb2, 0x50, 0x0c, 0xe4, 0x89, 0xac,
0x2b, 0xc7, 0x39, 0xad, 0xc9, 0x78, 0x11, 0xa4, 0xd9, 0x4d, 0x10, 0x8a, 0x8c, 0x11, 0xe6, 0x6e,
0xe4, 0x19, 0xcb, 0x6a, 0xf4, 0x7d, 0xe8, 0x90, 0xa2, 0x63, 0xdc, 0x47, 0xaa, 0x59, 0x3f, 0x28,
0x97, 0x5f, 0x6a, 0x28, 0x5c, 0xf6, 0xf5, 0x7e, 0xed, 0xc0, 0xba, 0xb9, 0x5d, 0xff, 0x43, 0xc3,
0xc9, 0x9b, 0xc1, 0xa6, 0x4f, 0xd8, 0x9d, 0xba, 0x4b, 0x79, 0x65, 0x3d, 0xa8, 0xbf, 0xc9, 0xef,
0xbc, 0x5c, 0xa2, 0xe7, 0xd0, 0x26, 0x3f, 0x9f, 0xc6, 0x8c, 0xf0, 0x03, 0x91, 0xdf, 0x79, 0x3d,
0xfb, 0xf7, 0xec, 0xec, 0xdf, 0x1b, 0xd9, 0xd9, 0x8f, 0x0b, 0xe7, 0x77, 0x0c, 0xef, 0x35, 0x68,
0xa8, 0x81, 0xe5, 0xfd, 0xd5, 0x81, 0xcd, 0x85, 0x4d, 0xa2, 0x8f, 0xa0, 0xc1, 0x45, 0x96, 0x72,
0xd7, 0x51, 0x4d, 0x52, 0xd9, 0xcc, 0x09, 0xe5, 0xc2, 0x6c, 0x46, 0x3b, 0xa1, 0xef, 0x40, 0x43,
0x64, 0x2c, 0xe5, 0x6e, 0x4d, 0x79, 0x7f, 0x58, 0xd9, 0x3a, 0xa3, 0x82, 0x84, 0x82, 0x44, 0xe5,
0x30, 0xe5, 0x8d, 0xf6, 0xa0, 0xc9, 0xe3, 0x71, 0x1a, 0xe8, 0xeb, 0xf7, 0xf0, 0x57, 0x8c, 0x17,
0xf2, 0xa0, 0x8b, 0x49, 0x12, 0xcc, 0x4c, 0x3b, 0x9a, 0xeb, 0x59, 0xd1, 0x79, 0xbf, 0x75, 0x00,
0x8a, 0x50, 0x09, 0x66, 0xc6, 0x62, 0x0b, 0x66, 0xc6, 0x62, 0xf4, 0x19, 0xb4, 0x14, 0x66, 0x21,
0x4d, 0x14, 0x96, 0x1b, 0xd5, 0x72, 0x8b, 0x58, 0x55, 0xb9, 0x74, 0xc3, 0x79, 0x80, 0xf7, 0x19,
0xb4, 0xac, 0x16, 0xad, 0x41, 0xfd, 0xaa, 0x3f, 0xec, 0xad, 0xc8, 0xc5, 0xe8, 0x70, 0xd8, 0x73,
0x50, 0x0b, 0x56, 0x4f, 0x46, 0xa3, 0x61, 0xaf, 0x86, 0xda, 0xd0, 0x90, 0x2b, 0xbf, 0x57, 0x97,
0xca, 0xfe, 0xe8, 0xdc, 0xef, 0xad, 0x7a, 0xbf, 0x84, 0xaf, 0x2c, 0x01, 0x43, 0x36, 0xcf, 0x6d,
0x2e, 0x99, 0x16, 0x7c, 0x08, 0x89, 0x92, 0xa7, 0x1c, 0x52, 0x19, 0x27, 0xcc, 0x0e, 0x34, 0xb9,
0x56, 0x43, 0x2a, 0xe0, 0xfc, 0x9e, 0xb2, 0xc8, 0x0e, 0x7a, 0x2b, 0x7b, 0xbf, 0x72, 0x00, 0x8a,
0x3e, 0x94, 0xad, 0x11, 0x18, 0x1c, 0x35, 0x3a, 0x56, 0x94, 0x98, 0x45, 0xea, 0x2c, 0x15, 0x66,
0x51, 0xca, 0xd1, 0xa7, 0x6a, 0xca, 0x9b, 0x0a, 0xf5, 0x59, 0x3d, 0x29, 0x57, 0xe8, 0xfb, 0x27,
0xa6, 0xc0, 0xc2, 0x4f, 0xd6, 0x77, 0xf3, 0x36, 0x4a, 0xed, 0x10, 0x95, 0x6b, 0xef, 0xef, 0xf5,
0xf2, 0xf3, 0x28, 0xe7, 0xaf, 0x9e, 0x19, 0xaa, 0x84, 0x55, 0x6c, 0xa4, 0xff, 0x9b, 0xc7, 0xfe,
0x5b, 0xd0, 0xc4, 0x34, 0x13, 0x84, 0xbb, 0x0d, 0xf5, 0xa9, 0xcd, 0xca, 0xa7, 0xa4, 0x05, 0x1b,
0x07, 0x09, 0x61, 0x7f, 0xe0, 0x9b, 0x1d, 0x35, 0x17, 0x21, 0xcc, 0x8d, 0xb8, 0xf0, 0x43, 0x5f,
0x40, 0x97, 0xde, 0xdc, 0x24, 0x71, 0x6a, 0x36, 0xb4, 0xf6, 0x6f, 0x6c, 0xa8, 0x12, 0x81, 0x3e,
0x87, 0xf5, 0x97, 0x31, 0x23, 0xf7, 0x41, 0x92, 0xe0, 0x2c, 0x21, 0xdc, 0x6d, 0xa9, 0x14, 0x6e,
0x39, 0x45, 0xd9, 0x01, 0x57, 0xdd, 0xd1, 0x3e, 0x3c, 0xbe, 0x29, 0x2b, 0x2c, 0x26, 0x6d, 0x85,
0xc9, 0x52, 0x9b, 0xf7, 0x1b, 0x07, 0x7a, 0xf3, 0x65, 0xbd, 0x93, 0x76, 0x3e, 0x03, 0x08, 0x92,
0x84, 0xde, 0x93, 0xe8, 0x74, 0xaa, 0x67, 0x48, 0x1b, 0x97, 0x34, 0xff, 0xbd, 0xf6, 0x3b, 0x85,
0x76, 0xee, 0x2b, 0xbf, 0xca, 0xf9, 0xed, 0x51, 0x1a, 0x5c, 0x27, 0x44, 0xd3, 0x8e, 0x16, 0x2e,
0x69, 0xaa, 0xd4, 0xa6, 0x36, 0x47, 0x6d, 0xbc, 0x1d, 0x78, 0xd6, 0x27, 0x77, 0x71, 0x48, 0x0e,
0x32, 0x71, 0x4b, 0x59, 0xfc, 0x8b, 0x40, 0xc4, 0x34, 0x7d, 0x99, 0xd0, 0x7b, 0xcb, 0x87, 0xff,
0xe2, 0xc0, 0x07, 0x0f, 0xb8, 0xa0, 0x13, 0x35, 0x47, 0xee, 0xe2, 0x88, 0x30, 0xf5, 0xe5, 0x8d,
0xfd, 0x8f, 0x2a, 0xcd, 0xb0, 0x3c, 0x4c, 0x0e, 0x7b, 0x15, 0x83, 0xf3, 0x68, 0xf4, 0x02, 0x36,
0xec, 0xba, 0x72, 0x5d, 0xb6, 0xe6, 0x66, 0x70, 0xc9, 0x03, 0xcf, 0x45, 0x78, 0x4f, 0xd5, 0x48,
0xd4, 0xf9, 0x00, 0x9a, 0x27, 0x97, 0xfe, 0xe8, 0xa8, 0xdf, 0x5b, 0xf1, 0x9e, 0xc1, 0xf6, 0xf0,
0xec, 0xf0, 0xe8, 0xc1, 0x1d, 0xfe, 0x04, 0x9e, 0x2c, 0xb5, 0x2f, 0x29, 0xca, 0xf9, 0x8f, 0x8b,
0xfa, 0x47, 0x6d, 0x3e, 0x89, 0xec, 0xa1, 0xc3, 0x24, 0x26, 0xa9, 0x38, 0xed, 0xdb, 0x1e, 0xb2,
0xb2, 0x7c, 0x1b, 0xf4, 0xda, 0x27, 0x21, 0x23, 0xc2, 0x4c, 0xaf, 0x8a, 0x4e, 0x8e, 0x9b, 0x3e,
0x9d, 0x04, 0xb1, 0x25, 0xc1, 0x46, 0x92, 0x79, 0x0f, 0xb2, 0x28, 0x26, 0x69, 0x68, 0x29, 0x5f,
0x2e, 0xcb, 0x91, 0x50, 0x9c, 0xc6, 0x51, 0x1a, 0x4d, 0x69, 0x9c, 0x0a, 0x43, 0x00, 0x97, 0x58,
0x24, 0x59, 0x53, 0xbc, 0x3a, 0x77, 0xd5, 0xac, 0xb0, 0xaa, 0x94, 0x6c, 0xd7, 0x0f, 0xe9, 0x94,
0x18, 0x4e, 0xa8, 0x05, 0xd9, 0x91, 0x57, 0x9c, 0x9c, 0xf6, 0x35, 0x51, 0x6f, 0xe9, 0x8e, 0x2c,
0x34, 0xe8, 0xdb, 0xf0, 0xa4, 0x82, 0x75, 0xfe, 0x0d, 0x4d, 0x08, 0x97, 0x1b, 0xf5, 0xab, 0x19,
0xc5, 0x8c, 0x84, 0xe2, 0x0a, 0x9f, 0x73, 0x17, 0xd4, 0xfd, 0xaa, 0xe8, 0xbc, 0x3f, 0x39, 0xd0,
0x50, 0x83, 0x4a, 0x52, 0xd9, 0x1c, 0xdd, 0xda, 0x69, 0x5f, 0x3e, 0x13, 0x66, 0x60, 0x1b, 0x48,
0xad, 0x88, 0x76, 0xa0, 0x63, 0x96, 0xa3, 0xd9, 0x94, 0x28, 0x48, 0xeb, 0xb8, 0xac, 0x92, 0x57,
0x50, 0x4e, 0x00, 0x7b, 0x05, 0xe5, 0x5a, 0x9e, 0xc1, 0x05, 0x11, 0x2c, 0x0e, 0x15, 0x86, 0x75,
0x6c, 0x24, 0xb9, 0xf7, 0x8b, 0x80, 0xbf, 0xcd, 0x08, 0x0b, 0x22, 0xa2, 0x40, 0x6b, 0xe1, 0x92,
0x46, 0x22, 0x36, 0x20, 0xf2, 0xe0, 0x0d, 0x62, 0x4a, 0xf0, 0xfe, 0xe8, 0x94, 0xc6, 0xaa, 0xc4,
0x5e, 0xd2, 0xa9, 0x38, 0x24, 0xfa, 0x0e, 0x9b, 0x4b, 0x5d, 0x55, 0xa2, 0x63, 0xe8, 0x49, 0xe2,
0xa9, 0x89, 0xd7, 0x31, 0xa3, 0xd9, 0xd4, 0xf2, 0x96, 0xaf, 0x56, 0xa8, 0x70, 0xd5, 0x07, 0x2f,
0x04, 0xa1, 0xe7, 0xd0, 0x39, 0xcc, 0xb8, 0xa0, 0x93, 0xd7, 0x34, 0x25, 0xf6, 0xb5, 0xa9, 0x3c,
0x53, 0x85, 0x19, 0x97, 0x5d, 0xbd, 0x57, 0x00, 0x85, 0x58, 0x6a, 0x4b, 0xa7, 0xd2, 0x96, 0xfb,
0xb0, 0x86, 0x49, 0x48, 0x59, 0x64, 0xeb, 0xab, 0x4c, 0x6d, 0x3f, 0x9e, 0x4c, 0x13, 0xa2, 0x1d,
0xb0, 0x75, 0xf4, 0x04, 0x74, 0xcb, 0x06, 0x79, 0x04, 0x83, 0xe2, 0xd7, 0x90, 0x5a, 0x4b, 0x9d,
0x3a, 0xb1, 0x9a, 0x3a, 0x00, 0xb5, 0x96, 0xf0, 0x1e, 0x26, 0x01, 0xe7, 0xe6, 0x66, 0x68, 0x41,
0x32, 0x81, 0xd1, 0xe8, 0x5c, 0x9d, 0x5f, 0x1d, 0xcb, 0xa5, 0xf4, 0xc3, 0xfd, 0x40, 0x04, 0xe6,
0x06, 0x68, 0xc1, 0xfb, 0x83, 0x03, 0x8f, 0xe6, 0xe0, 0x91, 0xe8, 0x14, 0xaa, 0xa5, 0x3c, 0xb2,
0x30, 0xe3, 0xb2, 0xab, 0x6c, 0xb9, 0x21, 0x8b, 0x27, 0x01, 0xd3, 0x63, 0xb7, 0x85, 0xad, 0x28,
0x2d, 0x1a, 0x1b, 0x8d, 0x76, 0x1b, 0x5b, 0x51, 0xbe, 0x53, 0x3e, 0x09, 0x58, 0x78, 0x6b, 0x14,
0x76, 0xac, 0xeb, 0xb7, 0x7b, 0xa9, 0xcd, 0x3b, 0x01, 0x28, 0x3e, 0xab, 0x1a, 0x7f, 0x98, 0x37,
0xfe, 0x50, 0x9e, 0xca, 0xc0, 0x2f, 0xe1, 0x64, 0x24, 0xd5, 0xd4, 0x94, 0x09, 0xd3, 0xef, 0x6a,
0xed, 0xfd, 0xb3, 0x06, 0xdd, 0xf2, 0xbb, 0x29, 0x83, 0x65, 0xb7, 0xe7, 0x09, 0x8d, 0x84, 0xbe,
0x80, 0x76, 0x5f, 0xdd, 0x3a, 0xc9, 0xc8, 0x35, 0xfb, 0xf4, 0x1e, 0x7a, 0x8a, 0xf7, 0x22, 0xeb,
0x89, 0x8b, 0x20, 0xf4, 0x3d, 0x68, 0x1e, 0xe8, 0xf0, 0xfa, 0x22, 0x79, 0xad, 0x84, 0x07, 0x3a,
0xd6, 0xb8, 0xa3, 0x1f, 0x16, 0xd4, 0x55, 0xa1, 0xb2, 0xb1, 0xff, 0xf5, 0x07, 0x43, 0xa7, 0x39,
0xf3, 0xcd, 0xd9, 0xae, 0xdd, 0x76, 0xc3, 0xdc, 0x65, 0xb9, 0xed, 0x6d, 0x68, 0xe7, 0x35, 0xa2,
0x26, 0xd4, 0x4e, 0x07, 0x9a, 0x0d, 0x5f, 0x5e, 0x8d, 0x7a, 0x8e, 0xf7, 0x0c, 0x9a, 0xba, 0x04,
0xf9, 0xa6, 0x1c, 0x1c, 0x1e, 0x1e, 0x0d, 0x47, 0xbd, 0x15, 0x45, 0x87, 0xf1, 0xe5, 0xb0, 0xe7,
0x78, 0x3f, 0x28, 0x88, 0x38, 0xea, 0xc0, 0xda, 0xd5, 0xe0, 0x6c, 0x70, 0xf9, 0xa5, 0xc9, 0x70,
0x70, 0x7e, 0xde, 0x73, 0x2c, 0xb1, 0xae, 0x59, 0xaa, 0xad, 0xc8, 0xf4, 0xe9, 0xe1, 0xc5, 0xb0,
0xb7, 0xea, 0x3d, 0x87, 0x8d, 0xea, 0x8f, 0x55, 0xd9, 0x9a, 0x29, 0x11, 0x39, 0xe4, 0x5a, 0x90,
0x2d, 0x3c, 0x09, 0x42, 0x4b, 0x66, 0x27, 0x41, 0xb8, 0xff, 0xb7, 0x3a, 0x6c, 0x5e, 0xe4, 0x1b,
0x37, 0xb3, 0x01, 0x1d, 0x41, 0x43, 0xfd, 0x40, 0x44, 0xdb, 0xd5, 0x1f, 0x94, 0xd5, 0xff, 0x9e,
0x6d, 0xbd, 0xd3, 0xea, 0xad, 0xa0, 0x97, 0xb0, 0xea, 0xcf, 0xd2, 0xf0, 0xfd, 0xb2, 0x7c, 0xe2,
0xa0, 0x17, 0xd0, 0x3d, 0x26, 0x22, 0xff, 0x71, 0x88, 0x2a, 0xcc, 0x52, 0xd1, 0xac, 0xad, 0xca,
0xcf, 0xd4, 0x85, 0x9f, 0x91, 0xde, 0x8a, 0xa4, 0x4d, 0x31, 0x3f, 0x21, 0x41, 0x22, 0x6e, 0x97,
0x26, 0x58, 0x54, 0x79, 0x2b, 0xe8, 0x35, 0x6c, 0x1d, 0x13, 0xf1, 0x10, 0x6f, 0x79, 0x3f, 0x70,
0x5e, 0x81, 0x7b, 0x4c, 0xc4, 0x72, 0xca, 0xf0, 0x5e, 0x99, 0x5f, 0xb4, 0x5e, 0x37, 0xcd, 0x7f,
0x41, 0x9b, 0xea, 0xcf, 0xa7, 0xff, 0x0a, 0x00, 0x00, 0xff, 0xff, 0xcb, 0xde, 0x32, 0x7a, 0x3a,
0x15, 0x00, 0x00,
}