mirror of
				https://github.com/juanfont/headscale.git
				synced 2025-11-04 10:01:05 +01:00 
			
		
		
		
	Fix lint errors, add initial namespace rpc
This commit is contained in:
		
							parent
							
								
									06700c1dc4
								
							
						
					
					
						commit
						07bbeafa3b
					
				
							
								
								
									
										807
									
								
								gen/go/headscale/v1/rpc.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										807
									
								
								gen/go/headscale/v1/rpc.pb.go
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,807 @@
 | 
				
			|||||||
 | 
					// Code generated by protoc-gen-go. DO NOT EDIT.
 | 
				
			||||||
 | 
					// versions:
 | 
				
			||||||
 | 
					// 	protoc-gen-go v1.27.1
 | 
				
			||||||
 | 
					// 	protoc        v3.18.1
 | 
				
			||||||
 | 
					// source: headscale/v1/rpc.proto
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package v1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						_ "google.golang.org/genproto/googleapis/api/annotations"
 | 
				
			||||||
 | 
						protoreflect "google.golang.org/protobuf/reflect/protoreflect"
 | 
				
			||||||
 | 
						protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 | 
				
			||||||
 | 
						timestamppb "google.golang.org/protobuf/types/known/timestamppb"
 | 
				
			||||||
 | 
						reflect "reflect"
 | 
				
			||||||
 | 
						sync "sync"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const (
 | 
				
			||||||
 | 
						// Verify that this generated code is sufficiently up-to-date.
 | 
				
			||||||
 | 
						_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
 | 
				
			||||||
 | 
						// Verify that runtime/protoimpl is sufficiently up-to-date.
 | 
				
			||||||
 | 
						_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type RegisterMethod int32
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const (
 | 
				
			||||||
 | 
						RegisterMethod_REGISTER_METHOD_UNSPECIFIED RegisterMethod = 0
 | 
				
			||||||
 | 
						RegisterMethod_REGISTER_METHOD_AUTH_KEY    RegisterMethod = 1
 | 
				
			||||||
 | 
						RegisterMethod_REGISTER_METHOD_CLI         RegisterMethod = 2
 | 
				
			||||||
 | 
						RegisterMethod_REGISTER_METHOD_OIDC        RegisterMethod = 3
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Enum value maps for RegisterMethod.
 | 
				
			||||||
 | 
					var (
 | 
				
			||||||
 | 
						RegisterMethod_name = map[int32]string{
 | 
				
			||||||
 | 
							0: "REGISTER_METHOD_UNSPECIFIED",
 | 
				
			||||||
 | 
							1: "REGISTER_METHOD_AUTH_KEY",
 | 
				
			||||||
 | 
							2: "REGISTER_METHOD_CLI",
 | 
				
			||||||
 | 
							3: "REGISTER_METHOD_OIDC",
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						RegisterMethod_value = map[string]int32{
 | 
				
			||||||
 | 
							"REGISTER_METHOD_UNSPECIFIED": 0,
 | 
				
			||||||
 | 
							"REGISTER_METHOD_AUTH_KEY":    1,
 | 
				
			||||||
 | 
							"REGISTER_METHOD_CLI":         2,
 | 
				
			||||||
 | 
							"REGISTER_METHOD_OIDC":        3,
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x RegisterMethod) Enum() *RegisterMethod {
 | 
				
			||||||
 | 
						p := new(RegisterMethod)
 | 
				
			||||||
 | 
						*p = x
 | 
				
			||||||
 | 
						return p
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x RegisterMethod) String() string {
 | 
				
			||||||
 | 
						return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (RegisterMethod) Descriptor() protoreflect.EnumDescriptor {
 | 
				
			||||||
 | 
						return file_headscale_v1_rpc_proto_enumTypes[0].Descriptor()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (RegisterMethod) Type() protoreflect.EnumType {
 | 
				
			||||||
 | 
						return &file_headscale_v1_rpc_proto_enumTypes[0]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x RegisterMethod) Number() protoreflect.EnumNumber {
 | 
				
			||||||
 | 
						return protoreflect.EnumNumber(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Deprecated: Use RegisterMethod.Descriptor instead.
 | 
				
			||||||
 | 
					func (RegisterMethod) EnumDescriptor() ([]byte, []int) {
 | 
				
			||||||
 | 
						return file_headscale_v1_rpc_proto_rawDescGZIP(), []int{0}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type GetMachineRequest struct {
 | 
				
			||||||
 | 
						state         protoimpl.MessageState
 | 
				
			||||||
 | 
						sizeCache     protoimpl.SizeCache
 | 
				
			||||||
 | 
						unknownFields protoimpl.UnknownFields
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						MachineId uint64 `protobuf:"varint,1,opt,name=machine_id,json=machineId,proto3" json:"machine_id,omitempty"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *GetMachineRequest) Reset() {
 | 
				
			||||||
 | 
						*x = GetMachineRequest{}
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled {
 | 
				
			||||||
 | 
							mi := &file_headscale_v1_rpc_proto_msgTypes[0]
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *GetMachineRequest) String() string {
 | 
				
			||||||
 | 
						return protoimpl.X.MessageStringOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (*GetMachineRequest) ProtoMessage() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *GetMachineRequest) ProtoReflect() protoreflect.Message {
 | 
				
			||||||
 | 
						mi := &file_headscale_v1_rpc_proto_msgTypes[0]
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled && x != nil {
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							if ms.LoadMessageInfo() == nil {
 | 
				
			||||||
 | 
								ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							return ms
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return mi.MessageOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Deprecated: Use GetMachineRequest.ProtoReflect.Descriptor instead.
 | 
				
			||||||
 | 
					func (*GetMachineRequest) Descriptor() ([]byte, []int) {
 | 
				
			||||||
 | 
						return file_headscale_v1_rpc_proto_rawDescGZIP(), []int{0}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *GetMachineRequest) GetMachineId() uint64 {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.MachineId
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type GetMachineResponse struct {
 | 
				
			||||||
 | 
						state         protoimpl.MessageState
 | 
				
			||||||
 | 
						sizeCache     protoimpl.SizeCache
 | 
				
			||||||
 | 
						unknownFields protoimpl.UnknownFields
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Id                   uint64                 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
 | 
				
			||||||
 | 
						MachineKey           string                 `protobuf:"bytes,2,opt,name=machine_key,json=machineKey,proto3" json:"machine_key,omitempty"`
 | 
				
			||||||
 | 
						NodeKey              string                 `protobuf:"bytes,3,opt,name=node_key,json=nodeKey,proto3" json:"node_key,omitempty"`
 | 
				
			||||||
 | 
						DiscoKey             string                 `protobuf:"bytes,4,opt,name=disco_key,json=discoKey,proto3" json:"disco_key,omitempty"`
 | 
				
			||||||
 | 
						IpAddress            string                 `protobuf:"bytes,5,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"`
 | 
				
			||||||
 | 
						Name                 string                 `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
 | 
				
			||||||
 | 
						NamespaceId          uint32                 `protobuf:"varint,7,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"`
 | 
				
			||||||
 | 
						Registered           bool                   `protobuf:"varint,8,opt,name=registered,proto3" json:"registered,omitempty"`
 | 
				
			||||||
 | 
						RegisterMethod       RegisterMethod         `protobuf:"varint,9,opt,name=register_method,json=registerMethod,proto3,enum=headscale.v1.RegisterMethod" json:"register_method,omitempty"`
 | 
				
			||||||
 | 
						AuthKeyId            uint32                 `protobuf:"varint,10,opt,name=auth_key_id,json=authKeyId,proto3" json:"auth_key_id,omitempty"` // PreAuthKey     auth_key        = 11;
 | 
				
			||||||
 | 
						LastSeen             *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=last_seen,json=lastSeen,proto3" json:"last_seen,omitempty"`
 | 
				
			||||||
 | 
						LastSuccessfulUpdate *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=last_successful_update,json=lastSuccessfulUpdate,proto3" json:"last_successful_update,omitempty"`
 | 
				
			||||||
 | 
						Expiry               *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=expiry,proto3" json:"expiry,omitempty"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *GetMachineResponse) Reset() {
 | 
				
			||||||
 | 
						*x = GetMachineResponse{}
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled {
 | 
				
			||||||
 | 
							mi := &file_headscale_v1_rpc_proto_msgTypes[1]
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *GetMachineResponse) String() string {
 | 
				
			||||||
 | 
						return protoimpl.X.MessageStringOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (*GetMachineResponse) ProtoMessage() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *GetMachineResponse) ProtoReflect() protoreflect.Message {
 | 
				
			||||||
 | 
						mi := &file_headscale_v1_rpc_proto_msgTypes[1]
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled && x != nil {
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							if ms.LoadMessageInfo() == nil {
 | 
				
			||||||
 | 
								ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							return ms
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return mi.MessageOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Deprecated: Use GetMachineResponse.ProtoReflect.Descriptor instead.
 | 
				
			||||||
 | 
					func (*GetMachineResponse) Descriptor() ([]byte, []int) {
 | 
				
			||||||
 | 
						return file_headscale_v1_rpc_proto_rawDescGZIP(), []int{1}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *GetMachineResponse) GetId() uint64 {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.Id
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *GetMachineResponse) GetMachineKey() string {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.MachineKey
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *GetMachineResponse) GetNodeKey() string {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.NodeKey
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *GetMachineResponse) GetDiscoKey() string {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.DiscoKey
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *GetMachineResponse) GetIpAddress() string {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.IpAddress
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *GetMachineResponse) GetName() string {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.Name
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *GetMachineResponse) GetNamespaceId() uint32 {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.NamespaceId
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *GetMachineResponse) GetRegistered() bool {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.Registered
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return false
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *GetMachineResponse) GetRegisterMethod() RegisterMethod {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.RegisterMethod
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return RegisterMethod_REGISTER_METHOD_UNSPECIFIED
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *GetMachineResponse) GetAuthKeyId() uint32 {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.AuthKeyId
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *GetMachineResponse) GetLastSeen() *timestamppb.Timestamp {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.LastSeen
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *GetMachineResponse) GetLastSuccessfulUpdate() *timestamppb.Timestamp {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.LastSuccessfulUpdate
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *GetMachineResponse) GetExpiry() *timestamppb.Timestamp {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.Expiry
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type CreateNamespaceRequest struct {
 | 
				
			||||||
 | 
						state         protoimpl.MessageState
 | 
				
			||||||
 | 
						sizeCache     protoimpl.SizeCache
 | 
				
			||||||
 | 
						unknownFields protoimpl.UnknownFields
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *CreateNamespaceRequest) Reset() {
 | 
				
			||||||
 | 
						*x = CreateNamespaceRequest{}
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled {
 | 
				
			||||||
 | 
							mi := &file_headscale_v1_rpc_proto_msgTypes[2]
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *CreateNamespaceRequest) String() string {
 | 
				
			||||||
 | 
						return protoimpl.X.MessageStringOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (*CreateNamespaceRequest) ProtoMessage() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *CreateNamespaceRequest) ProtoReflect() protoreflect.Message {
 | 
				
			||||||
 | 
						mi := &file_headscale_v1_rpc_proto_msgTypes[2]
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled && x != nil {
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							if ms.LoadMessageInfo() == nil {
 | 
				
			||||||
 | 
								ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							return ms
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return mi.MessageOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Deprecated: Use CreateNamespaceRequest.ProtoReflect.Descriptor instead.
 | 
				
			||||||
 | 
					func (*CreateNamespaceRequest) Descriptor() ([]byte, []int) {
 | 
				
			||||||
 | 
						return file_headscale_v1_rpc_proto_rawDescGZIP(), []int{2}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *CreateNamespaceRequest) GetName() string {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.Name
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type CreateNamespaceResponse struct {
 | 
				
			||||||
 | 
						state         protoimpl.MessageState
 | 
				
			||||||
 | 
						sizeCache     protoimpl.SizeCache
 | 
				
			||||||
 | 
						unknownFields protoimpl.UnknownFields
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *CreateNamespaceResponse) Reset() {
 | 
				
			||||||
 | 
						*x = CreateNamespaceResponse{}
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled {
 | 
				
			||||||
 | 
							mi := &file_headscale_v1_rpc_proto_msgTypes[3]
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *CreateNamespaceResponse) String() string {
 | 
				
			||||||
 | 
						return protoimpl.X.MessageStringOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (*CreateNamespaceResponse) ProtoMessage() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *CreateNamespaceResponse) ProtoReflect() protoreflect.Message {
 | 
				
			||||||
 | 
						mi := &file_headscale_v1_rpc_proto_msgTypes[3]
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled && x != nil {
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							if ms.LoadMessageInfo() == nil {
 | 
				
			||||||
 | 
								ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							return ms
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return mi.MessageOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Deprecated: Use CreateNamespaceResponse.ProtoReflect.Descriptor instead.
 | 
				
			||||||
 | 
					func (*CreateNamespaceResponse) Descriptor() ([]byte, []int) {
 | 
				
			||||||
 | 
						return file_headscale_v1_rpc_proto_rawDescGZIP(), []int{3}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *CreateNamespaceResponse) GetName() string {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.Name
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type DeleteNamespaceRequest struct {
 | 
				
			||||||
 | 
						state         protoimpl.MessageState
 | 
				
			||||||
 | 
						sizeCache     protoimpl.SizeCache
 | 
				
			||||||
 | 
						unknownFields protoimpl.UnknownFields
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *DeleteNamespaceRequest) Reset() {
 | 
				
			||||||
 | 
						*x = DeleteNamespaceRequest{}
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled {
 | 
				
			||||||
 | 
							mi := &file_headscale_v1_rpc_proto_msgTypes[4]
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *DeleteNamespaceRequest) String() string {
 | 
				
			||||||
 | 
						return protoimpl.X.MessageStringOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (*DeleteNamespaceRequest) ProtoMessage() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *DeleteNamespaceRequest) ProtoReflect() protoreflect.Message {
 | 
				
			||||||
 | 
						mi := &file_headscale_v1_rpc_proto_msgTypes[4]
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled && x != nil {
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							if ms.LoadMessageInfo() == nil {
 | 
				
			||||||
 | 
								ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							return ms
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return mi.MessageOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Deprecated: Use DeleteNamespaceRequest.ProtoReflect.Descriptor instead.
 | 
				
			||||||
 | 
					func (*DeleteNamespaceRequest) Descriptor() ([]byte, []int) {
 | 
				
			||||||
 | 
						return file_headscale_v1_rpc_proto_rawDescGZIP(), []int{4}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *DeleteNamespaceRequest) GetName() string {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.Name
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type DeleteNamespaceResponse struct {
 | 
				
			||||||
 | 
						state         protoimpl.MessageState
 | 
				
			||||||
 | 
						sizeCache     protoimpl.SizeCache
 | 
				
			||||||
 | 
						unknownFields protoimpl.UnknownFields
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *DeleteNamespaceResponse) Reset() {
 | 
				
			||||||
 | 
						*x = DeleteNamespaceResponse{}
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled {
 | 
				
			||||||
 | 
							mi := &file_headscale_v1_rpc_proto_msgTypes[5]
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *DeleteNamespaceResponse) String() string {
 | 
				
			||||||
 | 
						return protoimpl.X.MessageStringOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (*DeleteNamespaceResponse) ProtoMessage() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *DeleteNamespaceResponse) ProtoReflect() protoreflect.Message {
 | 
				
			||||||
 | 
						mi := &file_headscale_v1_rpc_proto_msgTypes[5]
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled && x != nil {
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							if ms.LoadMessageInfo() == nil {
 | 
				
			||||||
 | 
								ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							return ms
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return mi.MessageOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Deprecated: Use DeleteNamespaceResponse.ProtoReflect.Descriptor instead.
 | 
				
			||||||
 | 
					func (*DeleteNamespaceResponse) Descriptor() ([]byte, []int) {
 | 
				
			||||||
 | 
						return file_headscale_v1_rpc_proto_rawDescGZIP(), []int{5}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type ListNamespacesRequest struct {
 | 
				
			||||||
 | 
						state         protoimpl.MessageState
 | 
				
			||||||
 | 
						sizeCache     protoimpl.SizeCache
 | 
				
			||||||
 | 
						unknownFields protoimpl.UnknownFields
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *ListNamespacesRequest) Reset() {
 | 
				
			||||||
 | 
						*x = ListNamespacesRequest{}
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled {
 | 
				
			||||||
 | 
							mi := &file_headscale_v1_rpc_proto_msgTypes[6]
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *ListNamespacesRequest) String() string {
 | 
				
			||||||
 | 
						return protoimpl.X.MessageStringOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (*ListNamespacesRequest) ProtoMessage() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *ListNamespacesRequest) ProtoReflect() protoreflect.Message {
 | 
				
			||||||
 | 
						mi := &file_headscale_v1_rpc_proto_msgTypes[6]
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled && x != nil {
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							if ms.LoadMessageInfo() == nil {
 | 
				
			||||||
 | 
								ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							return ms
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return mi.MessageOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Deprecated: Use ListNamespacesRequest.ProtoReflect.Descriptor instead.
 | 
				
			||||||
 | 
					func (*ListNamespacesRequest) Descriptor() ([]byte, []int) {
 | 
				
			||||||
 | 
						return file_headscale_v1_rpc_proto_rawDescGZIP(), []int{6}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type ListNamespacesResponse struct {
 | 
				
			||||||
 | 
						state         protoimpl.MessageState
 | 
				
			||||||
 | 
						sizeCache     protoimpl.SizeCache
 | 
				
			||||||
 | 
						unknownFields protoimpl.UnknownFields
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Namespaces []string `protobuf:"bytes,1,rep,name=namespaces,proto3" json:"namespaces,omitempty"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *ListNamespacesResponse) Reset() {
 | 
				
			||||||
 | 
						*x = ListNamespacesResponse{}
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled {
 | 
				
			||||||
 | 
							mi := &file_headscale_v1_rpc_proto_msgTypes[7]
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *ListNamespacesResponse) String() string {
 | 
				
			||||||
 | 
						return protoimpl.X.MessageStringOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (*ListNamespacesResponse) ProtoMessage() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *ListNamespacesResponse) ProtoReflect() protoreflect.Message {
 | 
				
			||||||
 | 
						mi := &file_headscale_v1_rpc_proto_msgTypes[7]
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled && x != nil {
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							if ms.LoadMessageInfo() == nil {
 | 
				
			||||||
 | 
								ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							return ms
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return mi.MessageOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Deprecated: Use ListNamespacesResponse.ProtoReflect.Descriptor instead.
 | 
				
			||||||
 | 
					func (*ListNamespacesResponse) Descriptor() ([]byte, []int) {
 | 
				
			||||||
 | 
						return file_headscale_v1_rpc_proto_rawDescGZIP(), []int{7}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *ListNamespacesResponse) GetNamespaces() []string {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.Namespaces
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var File_headscale_v1_rpc_proto protoreflect.FileDescriptor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var file_headscale_v1_rpc_proto_rawDesc = []byte{
 | 
				
			||||||
 | 
						0x0a, 0x16, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x72,
 | 
				
			||||||
 | 
						0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63,
 | 
				
			||||||
 | 
						0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
 | 
				
			||||||
 | 
						0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
 | 
				
			||||||
 | 
						0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
 | 
				
			||||||
 | 
						0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
 | 
				
			||||||
 | 
						0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68,
 | 
				
			||||||
 | 
						0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61,
 | 
				
			||||||
 | 
						0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09,
 | 
				
			||||||
 | 
						0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x22, 0x99, 0x04, 0x0a, 0x12, 0x47, 0x65,
 | 
				
			||||||
 | 
						0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
				
			||||||
 | 
						0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64,
 | 
				
			||||||
 | 
						0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18,
 | 
				
			||||||
 | 
						0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x4b, 0x65,
 | 
				
			||||||
 | 
						0x79, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20,
 | 
				
			||||||
 | 
						0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09,
 | 
				
			||||||
 | 
						0x64, 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
 | 
				
			||||||
 | 
						0x08, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f,
 | 
				
			||||||
 | 
						0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69,
 | 
				
			||||||
 | 
						0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
 | 
				
			||||||
 | 
						0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c,
 | 
				
			||||||
 | 
						0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01,
 | 
				
			||||||
 | 
						0x28, 0x0d, 0x52, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12,
 | 
				
			||||||
 | 
						0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x18, 0x08, 0x20,
 | 
				
			||||||
 | 
						0x01, 0x28, 0x08, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x12,
 | 
				
			||||||
 | 
						0x45, 0x0a, 0x0f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x68,
 | 
				
			||||||
 | 
						0x6f, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73,
 | 
				
			||||||
 | 
						0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
 | 
				
			||||||
 | 
						0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
 | 
				
			||||||
 | 
						0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6b,
 | 
				
			||||||
 | 
						0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x75, 0x74,
 | 
				
			||||||
 | 
						0x68, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73,
 | 
				
			||||||
 | 
						0x65, 0x65, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
 | 
				
			||||||
 | 
						0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
 | 
				
			||||||
 | 
						0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x12,
 | 
				
			||||||
 | 
						0x50, 0x0a, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66,
 | 
				
			||||||
 | 
						0x75, 0x6c, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32,
 | 
				
			||||||
 | 
						0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
 | 
				
			||||||
 | 
						0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x14, 0x6c, 0x61, 0x73,
 | 
				
			||||||
 | 
						0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74,
 | 
				
			||||||
 | 
						0x65, 0x12, 0x32, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28,
 | 
				
			||||||
 | 
						0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
 | 
				
			||||||
 | 
						0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x06, 0x65,
 | 
				
			||||||
 | 
						0x78, 0x70, 0x69, 0x72, 0x79, 0x22, 0x2c, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e,
 | 
				
			||||||
 | 
						0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
 | 
				
			||||||
 | 
						0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
 | 
				
			||||||
 | 
						0x61, 0x6d, 0x65, 0x22, 0x2d, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d,
 | 
				
			||||||
 | 
						0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12,
 | 
				
			||||||
 | 
						0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
 | 
				
			||||||
 | 
						0x6d, 0x65, 0x22, 0x2c, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65,
 | 
				
			||||||
 | 
						0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04,
 | 
				
			||||||
 | 
						0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
 | 
				
			||||||
 | 
						0x22, 0x19, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70,
 | 
				
			||||||
 | 
						0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x4c,
 | 
				
			||||||
 | 
						0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71,
 | 
				
			||||||
 | 
						0x75, 0x65, 0x73, 0x74, 0x22, 0x38, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65,
 | 
				
			||||||
 | 
						0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e,
 | 
				
			||||||
 | 
						0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
 | 
				
			||||||
 | 
						0x28, 0x09, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x2a, 0x82,
 | 
				
			||||||
 | 
						0x01, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x68, 0x6f,
 | 
				
			||||||
 | 
						0x64, 0x12, 0x1f, 0x0a, 0x1b, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x45,
 | 
				
			||||||
 | 
						0x54, 0x48, 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
 | 
				
			||||||
 | 
						0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x4d,
 | 
				
			||||||
 | 
						0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x01,
 | 
				
			||||||
 | 
						0x12, 0x17, 0x0a, 0x13, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x45, 0x54,
 | 
				
			||||||
 | 
						0x48, 0x4f, 0x44, 0x5f, 0x43, 0x4c, 0x49, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x47,
 | 
				
			||||||
 | 
						0x49, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x4f, 0x49, 0x44,
 | 
				
			||||||
 | 
						0x43, 0x10, 0x03, 0x32, 0xfa, 0x03, 0x0a, 0x10, 0x48, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c,
 | 
				
			||||||
 | 
						0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x75, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4d,
 | 
				
			||||||
 | 
						0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x1f, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61,
 | 
				
			||||||
 | 
						0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65,
 | 
				
			||||||
 | 
						0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63,
 | 
				
			||||||
 | 
						0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e,
 | 
				
			||||||
 | 
						0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02,
 | 
				
			||||||
 | 
						0x1e, 0x12, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69,
 | 
				
			||||||
 | 
						0x6e, 0x65, 0x2f, 0x7b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x12,
 | 
				
			||||||
 | 
						0x7c, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61,
 | 
				
			||||||
 | 
						0x63, 0x65, 0x12, 0x24, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76,
 | 
				
			||||||
 | 
						0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63,
 | 
				
			||||||
 | 
						0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73,
 | 
				
			||||||
 | 
						0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61,
 | 
				
			||||||
 | 
						0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
 | 
				
			||||||
 | 
						0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x22, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31,
 | 
				
			||||||
 | 
						0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x79, 0x0a,
 | 
				
			||||||
 | 
						0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65,
 | 
				
			||||||
 | 
						0x12, 0x24, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e,
 | 
				
			||||||
 | 
						0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
 | 
				
			||||||
 | 
						0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61,
 | 
				
			||||||
 | 
						0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65,
 | 
				
			||||||
 | 
						0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x19, 0x82,
 | 
				
			||||||
 | 
						0xd3, 0xe4, 0x93, 0x02, 0x13, 0x2a, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6e,
 | 
				
			||||||
 | 
						0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x76, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74,
 | 
				
			||||||
 | 
						0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x23, 0x2e, 0x68, 0x65, 0x61,
 | 
				
			||||||
 | 
						0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61,
 | 
				
			||||||
 | 
						0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
				
			||||||
 | 
						0x24, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c,
 | 
				
			||||||
 | 
						0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73,
 | 
				
			||||||
 | 
						0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x12, 0x11, 0x2f,
 | 
				
			||||||
 | 
						0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65,
 | 
				
			||||||
 | 
						0x42, 0x29, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6a,
 | 
				
			||||||
 | 
						0x75, 0x61, 0x6e, 0x66, 0x6f, 0x6e, 0x74, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c,
 | 
				
			||||||
 | 
						0x65, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f,
 | 
				
			||||||
 | 
						0x74, 0x6f, 0x33,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var (
 | 
				
			||||||
 | 
						file_headscale_v1_rpc_proto_rawDescOnce sync.Once
 | 
				
			||||||
 | 
						file_headscale_v1_rpc_proto_rawDescData = file_headscale_v1_rpc_proto_rawDesc
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func file_headscale_v1_rpc_proto_rawDescGZIP() []byte {
 | 
				
			||||||
 | 
						file_headscale_v1_rpc_proto_rawDescOnce.Do(func() {
 | 
				
			||||||
 | 
							file_headscale_v1_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_headscale_v1_rpc_proto_rawDescData)
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
						return file_headscale_v1_rpc_proto_rawDescData
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var file_headscale_v1_rpc_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
 | 
				
			||||||
 | 
					var file_headscale_v1_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
 | 
				
			||||||
 | 
					var file_headscale_v1_rpc_proto_goTypes = []interface{}{
 | 
				
			||||||
 | 
						(RegisterMethod)(0),             // 0: headscale.v1.RegisterMethod
 | 
				
			||||||
 | 
						(*GetMachineRequest)(nil),       // 1: headscale.v1.GetMachineRequest
 | 
				
			||||||
 | 
						(*GetMachineResponse)(nil),      // 2: headscale.v1.GetMachineResponse
 | 
				
			||||||
 | 
						(*CreateNamespaceRequest)(nil),  // 3: headscale.v1.CreateNamespaceRequest
 | 
				
			||||||
 | 
						(*CreateNamespaceResponse)(nil), // 4: headscale.v1.CreateNamespaceResponse
 | 
				
			||||||
 | 
						(*DeleteNamespaceRequest)(nil),  // 5: headscale.v1.DeleteNamespaceRequest
 | 
				
			||||||
 | 
						(*DeleteNamespaceResponse)(nil), // 6: headscale.v1.DeleteNamespaceResponse
 | 
				
			||||||
 | 
						(*ListNamespacesRequest)(nil),   // 7: headscale.v1.ListNamespacesRequest
 | 
				
			||||||
 | 
						(*ListNamespacesResponse)(nil),  // 8: headscale.v1.ListNamespacesResponse
 | 
				
			||||||
 | 
						(*timestamppb.Timestamp)(nil),   // 9: google.protobuf.Timestamp
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					var file_headscale_v1_rpc_proto_depIdxs = []int32{
 | 
				
			||||||
 | 
						0, // 0: headscale.v1.GetMachineResponse.register_method:type_name -> headscale.v1.RegisterMethod
 | 
				
			||||||
 | 
						9, // 1: headscale.v1.GetMachineResponse.last_seen:type_name -> google.protobuf.Timestamp
 | 
				
			||||||
 | 
						9, // 2: headscale.v1.GetMachineResponse.last_successful_update:type_name -> google.protobuf.Timestamp
 | 
				
			||||||
 | 
						9, // 3: headscale.v1.GetMachineResponse.expiry:type_name -> google.protobuf.Timestamp
 | 
				
			||||||
 | 
						1, // 4: headscale.v1.HeadscaleService.GetMachine:input_type -> headscale.v1.GetMachineRequest
 | 
				
			||||||
 | 
						3, // 5: headscale.v1.HeadscaleService.CreateNamespace:input_type -> headscale.v1.CreateNamespaceRequest
 | 
				
			||||||
 | 
						5, // 6: headscale.v1.HeadscaleService.DeleteNamespace:input_type -> headscale.v1.DeleteNamespaceRequest
 | 
				
			||||||
 | 
						7, // 7: headscale.v1.HeadscaleService.ListNamespaces:input_type -> headscale.v1.ListNamespacesRequest
 | 
				
			||||||
 | 
						2, // 8: headscale.v1.HeadscaleService.GetMachine:output_type -> headscale.v1.GetMachineResponse
 | 
				
			||||||
 | 
						4, // 9: headscale.v1.HeadscaleService.CreateNamespace:output_type -> headscale.v1.CreateNamespaceResponse
 | 
				
			||||||
 | 
						6, // 10: headscale.v1.HeadscaleService.DeleteNamespace:output_type -> headscale.v1.DeleteNamespaceResponse
 | 
				
			||||||
 | 
						8, // 11: headscale.v1.HeadscaleService.ListNamespaces:output_type -> headscale.v1.ListNamespacesResponse
 | 
				
			||||||
 | 
						8, // [8:12] is the sub-list for method output_type
 | 
				
			||||||
 | 
						4, // [4:8] is the sub-list for method input_type
 | 
				
			||||||
 | 
						4, // [4:4] is the sub-list for extension type_name
 | 
				
			||||||
 | 
						4, // [4:4] is the sub-list for extension extendee
 | 
				
			||||||
 | 
						0, // [0:4] is the sub-list for field type_name
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func init() { file_headscale_v1_rpc_proto_init() }
 | 
				
			||||||
 | 
					func file_headscale_v1_rpc_proto_init() {
 | 
				
			||||||
 | 
						if File_headscale_v1_rpc_proto != nil {
 | 
				
			||||||
 | 
							return
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if !protoimpl.UnsafeEnabled {
 | 
				
			||||||
 | 
							file_headscale_v1_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 | 
				
			||||||
 | 
								switch v := v.(*GetMachineRequest); i {
 | 
				
			||||||
 | 
								case 0:
 | 
				
			||||||
 | 
									return &v.state
 | 
				
			||||||
 | 
								case 1:
 | 
				
			||||||
 | 
									return &v.sizeCache
 | 
				
			||||||
 | 
								case 2:
 | 
				
			||||||
 | 
									return &v.unknownFields
 | 
				
			||||||
 | 
								default:
 | 
				
			||||||
 | 
									return nil
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							file_headscale_v1_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 | 
				
			||||||
 | 
								switch v := v.(*GetMachineResponse); i {
 | 
				
			||||||
 | 
								case 0:
 | 
				
			||||||
 | 
									return &v.state
 | 
				
			||||||
 | 
								case 1:
 | 
				
			||||||
 | 
									return &v.sizeCache
 | 
				
			||||||
 | 
								case 2:
 | 
				
			||||||
 | 
									return &v.unknownFields
 | 
				
			||||||
 | 
								default:
 | 
				
			||||||
 | 
									return nil
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							file_headscale_v1_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 | 
				
			||||||
 | 
								switch v := v.(*CreateNamespaceRequest); i {
 | 
				
			||||||
 | 
								case 0:
 | 
				
			||||||
 | 
									return &v.state
 | 
				
			||||||
 | 
								case 1:
 | 
				
			||||||
 | 
									return &v.sizeCache
 | 
				
			||||||
 | 
								case 2:
 | 
				
			||||||
 | 
									return &v.unknownFields
 | 
				
			||||||
 | 
								default:
 | 
				
			||||||
 | 
									return nil
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							file_headscale_v1_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 | 
				
			||||||
 | 
								switch v := v.(*CreateNamespaceResponse); i {
 | 
				
			||||||
 | 
								case 0:
 | 
				
			||||||
 | 
									return &v.state
 | 
				
			||||||
 | 
								case 1:
 | 
				
			||||||
 | 
									return &v.sizeCache
 | 
				
			||||||
 | 
								case 2:
 | 
				
			||||||
 | 
									return &v.unknownFields
 | 
				
			||||||
 | 
								default:
 | 
				
			||||||
 | 
									return nil
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							file_headscale_v1_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 | 
				
			||||||
 | 
								switch v := v.(*DeleteNamespaceRequest); i {
 | 
				
			||||||
 | 
								case 0:
 | 
				
			||||||
 | 
									return &v.state
 | 
				
			||||||
 | 
								case 1:
 | 
				
			||||||
 | 
									return &v.sizeCache
 | 
				
			||||||
 | 
								case 2:
 | 
				
			||||||
 | 
									return &v.unknownFields
 | 
				
			||||||
 | 
								default:
 | 
				
			||||||
 | 
									return nil
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							file_headscale_v1_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
 | 
				
			||||||
 | 
								switch v := v.(*DeleteNamespaceResponse); i {
 | 
				
			||||||
 | 
								case 0:
 | 
				
			||||||
 | 
									return &v.state
 | 
				
			||||||
 | 
								case 1:
 | 
				
			||||||
 | 
									return &v.sizeCache
 | 
				
			||||||
 | 
								case 2:
 | 
				
			||||||
 | 
									return &v.unknownFields
 | 
				
			||||||
 | 
								default:
 | 
				
			||||||
 | 
									return nil
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							file_headscale_v1_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
 | 
				
			||||||
 | 
								switch v := v.(*ListNamespacesRequest); i {
 | 
				
			||||||
 | 
								case 0:
 | 
				
			||||||
 | 
									return &v.state
 | 
				
			||||||
 | 
								case 1:
 | 
				
			||||||
 | 
									return &v.sizeCache
 | 
				
			||||||
 | 
								case 2:
 | 
				
			||||||
 | 
									return &v.unknownFields
 | 
				
			||||||
 | 
								default:
 | 
				
			||||||
 | 
									return nil
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							file_headscale_v1_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
 | 
				
			||||||
 | 
								switch v := v.(*ListNamespacesResponse); i {
 | 
				
			||||||
 | 
								case 0:
 | 
				
			||||||
 | 
									return &v.state
 | 
				
			||||||
 | 
								case 1:
 | 
				
			||||||
 | 
									return &v.sizeCache
 | 
				
			||||||
 | 
								case 2:
 | 
				
			||||||
 | 
									return &v.unknownFields
 | 
				
			||||||
 | 
								default:
 | 
				
			||||||
 | 
									return nil
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						type x struct{}
 | 
				
			||||||
 | 
						out := protoimpl.TypeBuilder{
 | 
				
			||||||
 | 
							File: protoimpl.DescBuilder{
 | 
				
			||||||
 | 
								GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
				
			||||||
 | 
								RawDescriptor: file_headscale_v1_rpc_proto_rawDesc,
 | 
				
			||||||
 | 
								NumEnums:      1,
 | 
				
			||||||
 | 
								NumMessages:   8,
 | 
				
			||||||
 | 
								NumExtensions: 0,
 | 
				
			||||||
 | 
								NumServices:   1,
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							GoTypes:           file_headscale_v1_rpc_proto_goTypes,
 | 
				
			||||||
 | 
							DependencyIndexes: file_headscale_v1_rpc_proto_depIdxs,
 | 
				
			||||||
 | 
							EnumInfos:         file_headscale_v1_rpc_proto_enumTypes,
 | 
				
			||||||
 | 
							MessageInfos:      file_headscale_v1_rpc_proto_msgTypes,
 | 
				
			||||||
 | 
						}.Build()
 | 
				
			||||||
 | 
						File_headscale_v1_rpc_proto = out.File
 | 
				
			||||||
 | 
						file_headscale_v1_rpc_proto_rawDesc = nil
 | 
				
			||||||
 | 
						file_headscale_v1_rpc_proto_goTypes = nil
 | 
				
			||||||
 | 
						file_headscale_v1_rpc_proto_depIdxs = nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										414
									
								
								gen/go/headscale/v1/rpc.pb.gw.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										414
									
								
								gen/go/headscale/v1/rpc.pb.gw.go
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,414 @@
 | 
				
			|||||||
 | 
					// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT.
 | 
				
			||||||
 | 
					// source: headscale/v1/rpc.proto
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					Package v1 is a reverse proxy.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					It translates gRPC into RESTful JSON APIs.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					package v1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"context"
 | 
				
			||||||
 | 
						"io"
 | 
				
			||||||
 | 
						"net/http"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"github.com/grpc-ecosystem/grpc-gateway/v2/runtime"
 | 
				
			||||||
 | 
						"github.com/grpc-ecosystem/grpc-gateway/v2/utilities"
 | 
				
			||||||
 | 
						"google.golang.org/grpc"
 | 
				
			||||||
 | 
						"google.golang.org/grpc/codes"
 | 
				
			||||||
 | 
						"google.golang.org/grpc/grpclog"
 | 
				
			||||||
 | 
						"google.golang.org/grpc/metadata"
 | 
				
			||||||
 | 
						"google.golang.org/grpc/status"
 | 
				
			||||||
 | 
						"google.golang.org/protobuf/proto"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Suppress "imported and not used" errors
 | 
				
			||||||
 | 
					var _ codes.Code
 | 
				
			||||||
 | 
					var _ io.Reader
 | 
				
			||||||
 | 
					var _ status.Status
 | 
				
			||||||
 | 
					var _ = runtime.String
 | 
				
			||||||
 | 
					var _ = utilities.NewDoubleArray
 | 
				
			||||||
 | 
					var _ = metadata.Join
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func request_HeadscaleService_GetMachine_0(ctx context.Context, marshaler runtime.Marshaler, client HeadscaleServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
 | 
				
			||||||
 | 
						var protoReq GetMachineRequest
 | 
				
			||||||
 | 
						var metadata runtime.ServerMetadata
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var (
 | 
				
			||||||
 | 
							val string
 | 
				
			||||||
 | 
							ok  bool
 | 
				
			||||||
 | 
							err error
 | 
				
			||||||
 | 
							_   = err
 | 
				
			||||||
 | 
						)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						val, ok = pathParams["machine_id"]
 | 
				
			||||||
 | 
						if !ok {
 | 
				
			||||||
 | 
							return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "machine_id")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						protoReq.MachineId, err = runtime.Uint64(val)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "machine_id", err)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						msg, err := client.GetMachine(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
 | 
				
			||||||
 | 
						return msg, metadata, err
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func local_request_HeadscaleService_GetMachine_0(ctx context.Context, marshaler runtime.Marshaler, server HeadscaleServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
 | 
				
			||||||
 | 
						var protoReq GetMachineRequest
 | 
				
			||||||
 | 
						var metadata runtime.ServerMetadata
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var (
 | 
				
			||||||
 | 
							val string
 | 
				
			||||||
 | 
							ok  bool
 | 
				
			||||||
 | 
							err error
 | 
				
			||||||
 | 
							_   = err
 | 
				
			||||||
 | 
						)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						val, ok = pathParams["machine_id"]
 | 
				
			||||||
 | 
						if !ok {
 | 
				
			||||||
 | 
							return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "machine_id")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						protoReq.MachineId, err = runtime.Uint64(val)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "machine_id", err)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						msg, err := server.GetMachine(ctx, &protoReq)
 | 
				
			||||||
 | 
						return msg, metadata, err
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func request_HeadscaleService_CreateNamespace_0(ctx context.Context, marshaler runtime.Marshaler, client HeadscaleServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
 | 
				
			||||||
 | 
						var protoReq CreateNamespaceRequest
 | 
				
			||||||
 | 
						var metadata runtime.ServerMetadata
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						newReader, berr := utilities.IOReaderFactory(req.Body)
 | 
				
			||||||
 | 
						if berr != nil {
 | 
				
			||||||
 | 
							return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
 | 
				
			||||||
 | 
							return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						msg, err := client.CreateNamespace(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
 | 
				
			||||||
 | 
						return msg, metadata, err
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func local_request_HeadscaleService_CreateNamespace_0(ctx context.Context, marshaler runtime.Marshaler, server HeadscaleServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
 | 
				
			||||||
 | 
						var protoReq CreateNamespaceRequest
 | 
				
			||||||
 | 
						var metadata runtime.ServerMetadata
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						newReader, berr := utilities.IOReaderFactory(req.Body)
 | 
				
			||||||
 | 
						if berr != nil {
 | 
				
			||||||
 | 
							return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
 | 
				
			||||||
 | 
							return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						msg, err := server.CreateNamespace(ctx, &protoReq)
 | 
				
			||||||
 | 
						return msg, metadata, err
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var (
 | 
				
			||||||
 | 
						filter_HeadscaleService_DeleteNamespace_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)}
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func request_HeadscaleService_DeleteNamespace_0(ctx context.Context, marshaler runtime.Marshaler, client HeadscaleServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
 | 
				
			||||||
 | 
						var protoReq DeleteNamespaceRequest
 | 
				
			||||||
 | 
						var metadata runtime.ServerMetadata
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if err := req.ParseForm(); err != nil {
 | 
				
			||||||
 | 
							return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_HeadscaleService_DeleteNamespace_0); err != nil {
 | 
				
			||||||
 | 
							return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						msg, err := client.DeleteNamespace(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
 | 
				
			||||||
 | 
						return msg, metadata, err
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func local_request_HeadscaleService_DeleteNamespace_0(ctx context.Context, marshaler runtime.Marshaler, server HeadscaleServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
 | 
				
			||||||
 | 
						var protoReq DeleteNamespaceRequest
 | 
				
			||||||
 | 
						var metadata runtime.ServerMetadata
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if err := req.ParseForm(); err != nil {
 | 
				
			||||||
 | 
							return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_HeadscaleService_DeleteNamespace_0); err != nil {
 | 
				
			||||||
 | 
							return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						msg, err := server.DeleteNamespace(ctx, &protoReq)
 | 
				
			||||||
 | 
						return msg, metadata, err
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func request_HeadscaleService_ListNamespaces_0(ctx context.Context, marshaler runtime.Marshaler, client HeadscaleServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
 | 
				
			||||||
 | 
						var protoReq ListNamespacesRequest
 | 
				
			||||||
 | 
						var metadata runtime.ServerMetadata
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						msg, err := client.ListNamespaces(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
 | 
				
			||||||
 | 
						return msg, metadata, err
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func local_request_HeadscaleService_ListNamespaces_0(ctx context.Context, marshaler runtime.Marshaler, server HeadscaleServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
 | 
				
			||||||
 | 
						var protoReq ListNamespacesRequest
 | 
				
			||||||
 | 
						var metadata runtime.ServerMetadata
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						msg, err := server.ListNamespaces(ctx, &protoReq)
 | 
				
			||||||
 | 
						return msg, metadata, err
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// RegisterHeadscaleServiceHandlerServer registers the http handlers for service HeadscaleService to "mux".
 | 
				
			||||||
 | 
					// UnaryRPC     :call HeadscaleServiceServer directly.
 | 
				
			||||||
 | 
					// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906.
 | 
				
			||||||
 | 
					// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterHeadscaleServiceHandlerFromEndpoint instead.
 | 
				
			||||||
 | 
					func RegisterHeadscaleServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server HeadscaleServiceServer) error {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						mux.Handle("GET", pattern_HeadscaleService_GetMachine_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
 | 
				
			||||||
 | 
							ctx, cancel := context.WithCancel(req.Context())
 | 
				
			||||||
 | 
							defer cancel()
 | 
				
			||||||
 | 
							var stream runtime.ServerTransportStream
 | 
				
			||||||
 | 
							ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
 | 
				
			||||||
 | 
							inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 | 
				
			||||||
 | 
							rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/headscale.v1.HeadscaleService/GetMachine", runtime.WithHTTPPathPattern("/api/v1/machine/{machine_id}"))
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 | 
				
			||||||
 | 
								return
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							resp, md, err := local_request_HeadscaleService_GetMachine_0(rctx, inboundMarshaler, server, req, pathParams)
 | 
				
			||||||
 | 
							md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
 | 
				
			||||||
 | 
							ctx = runtime.NewServerMetadataContext(ctx, md)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 | 
				
			||||||
 | 
								return
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							forward_HeadscaleService_GetMachine_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						mux.Handle("POST", pattern_HeadscaleService_CreateNamespace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
 | 
				
			||||||
 | 
							ctx, cancel := context.WithCancel(req.Context())
 | 
				
			||||||
 | 
							defer cancel()
 | 
				
			||||||
 | 
							var stream runtime.ServerTransportStream
 | 
				
			||||||
 | 
							ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
 | 
				
			||||||
 | 
							inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 | 
				
			||||||
 | 
							rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/headscale.v1.HeadscaleService/CreateNamespace", runtime.WithHTTPPathPattern("/api/v1/namespace"))
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 | 
				
			||||||
 | 
								return
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							resp, md, err := local_request_HeadscaleService_CreateNamespace_0(rctx, inboundMarshaler, server, req, pathParams)
 | 
				
			||||||
 | 
							md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
 | 
				
			||||||
 | 
							ctx = runtime.NewServerMetadataContext(ctx, md)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 | 
				
			||||||
 | 
								return
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							forward_HeadscaleService_CreateNamespace_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						mux.Handle("DELETE", pattern_HeadscaleService_DeleteNamespace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
 | 
				
			||||||
 | 
							ctx, cancel := context.WithCancel(req.Context())
 | 
				
			||||||
 | 
							defer cancel()
 | 
				
			||||||
 | 
							var stream runtime.ServerTransportStream
 | 
				
			||||||
 | 
							ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
 | 
				
			||||||
 | 
							inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 | 
				
			||||||
 | 
							rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/headscale.v1.HeadscaleService/DeleteNamespace", runtime.WithHTTPPathPattern("/api/v1/namespace"))
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 | 
				
			||||||
 | 
								return
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							resp, md, err := local_request_HeadscaleService_DeleteNamespace_0(rctx, inboundMarshaler, server, req, pathParams)
 | 
				
			||||||
 | 
							md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
 | 
				
			||||||
 | 
							ctx = runtime.NewServerMetadataContext(ctx, md)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 | 
				
			||||||
 | 
								return
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							forward_HeadscaleService_DeleteNamespace_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						mux.Handle("GET", pattern_HeadscaleService_ListNamespaces_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
 | 
				
			||||||
 | 
							ctx, cancel := context.WithCancel(req.Context())
 | 
				
			||||||
 | 
							defer cancel()
 | 
				
			||||||
 | 
							var stream runtime.ServerTransportStream
 | 
				
			||||||
 | 
							ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
 | 
				
			||||||
 | 
							inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 | 
				
			||||||
 | 
							rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/headscale.v1.HeadscaleService/ListNamespaces", runtime.WithHTTPPathPattern("/api/v1/namespace"))
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 | 
				
			||||||
 | 
								return
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							resp, md, err := local_request_HeadscaleService_ListNamespaces_0(rctx, inboundMarshaler, server, req, pathParams)
 | 
				
			||||||
 | 
							md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
 | 
				
			||||||
 | 
							ctx = runtime.NewServerMetadataContext(ctx, md)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 | 
				
			||||||
 | 
								return
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							forward_HeadscaleService_ListNamespaces_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// RegisterHeadscaleServiceHandlerFromEndpoint is same as RegisterHeadscaleServiceHandler but
 | 
				
			||||||
 | 
					// automatically dials to "endpoint" and closes the connection when "ctx" gets done.
 | 
				
			||||||
 | 
					func RegisterHeadscaleServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) {
 | 
				
			||||||
 | 
						conn, err := grpc.Dial(endpoint, opts...)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						defer func() {
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								if cerr := conn.Close(); cerr != nil {
 | 
				
			||||||
 | 
									grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								return
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							go func() {
 | 
				
			||||||
 | 
								<-ctx.Done()
 | 
				
			||||||
 | 
								if cerr := conn.Close(); cerr != nil {
 | 
				
			||||||
 | 
									grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}()
 | 
				
			||||||
 | 
						}()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return RegisterHeadscaleServiceHandler(ctx, mux, conn)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// RegisterHeadscaleServiceHandler registers the http handlers for service HeadscaleService to "mux".
 | 
				
			||||||
 | 
					// The handlers forward requests to the grpc endpoint over "conn".
 | 
				
			||||||
 | 
					func RegisterHeadscaleServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error {
 | 
				
			||||||
 | 
						return RegisterHeadscaleServiceHandlerClient(ctx, mux, NewHeadscaleServiceClient(conn))
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// RegisterHeadscaleServiceHandlerClient registers the http handlers for service HeadscaleService
 | 
				
			||||||
 | 
					// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "HeadscaleServiceClient".
 | 
				
			||||||
 | 
					// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "HeadscaleServiceClient"
 | 
				
			||||||
 | 
					// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in
 | 
				
			||||||
 | 
					// "HeadscaleServiceClient" to call the correct interceptors.
 | 
				
			||||||
 | 
					func RegisterHeadscaleServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client HeadscaleServiceClient) error {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						mux.Handle("GET", pattern_HeadscaleService_GetMachine_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
 | 
				
			||||||
 | 
							ctx, cancel := context.WithCancel(req.Context())
 | 
				
			||||||
 | 
							defer cancel()
 | 
				
			||||||
 | 
							inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 | 
				
			||||||
 | 
							rctx, err := runtime.AnnotateContext(ctx, mux, req, "/headscale.v1.HeadscaleService/GetMachine", runtime.WithHTTPPathPattern("/api/v1/machine/{machine_id}"))
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 | 
				
			||||||
 | 
								return
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							resp, md, err := request_HeadscaleService_GetMachine_0(rctx, inboundMarshaler, client, req, pathParams)
 | 
				
			||||||
 | 
							ctx = runtime.NewServerMetadataContext(ctx, md)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 | 
				
			||||||
 | 
								return
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							forward_HeadscaleService_GetMachine_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						mux.Handle("POST", pattern_HeadscaleService_CreateNamespace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
 | 
				
			||||||
 | 
							ctx, cancel := context.WithCancel(req.Context())
 | 
				
			||||||
 | 
							defer cancel()
 | 
				
			||||||
 | 
							inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 | 
				
			||||||
 | 
							rctx, err := runtime.AnnotateContext(ctx, mux, req, "/headscale.v1.HeadscaleService/CreateNamespace", runtime.WithHTTPPathPattern("/api/v1/namespace"))
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 | 
				
			||||||
 | 
								return
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							resp, md, err := request_HeadscaleService_CreateNamespace_0(rctx, inboundMarshaler, client, req, pathParams)
 | 
				
			||||||
 | 
							ctx = runtime.NewServerMetadataContext(ctx, md)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 | 
				
			||||||
 | 
								return
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							forward_HeadscaleService_CreateNamespace_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						mux.Handle("DELETE", pattern_HeadscaleService_DeleteNamespace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
 | 
				
			||||||
 | 
							ctx, cancel := context.WithCancel(req.Context())
 | 
				
			||||||
 | 
							defer cancel()
 | 
				
			||||||
 | 
							inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 | 
				
			||||||
 | 
							rctx, err := runtime.AnnotateContext(ctx, mux, req, "/headscale.v1.HeadscaleService/DeleteNamespace", runtime.WithHTTPPathPattern("/api/v1/namespace"))
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 | 
				
			||||||
 | 
								return
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							resp, md, err := request_HeadscaleService_DeleteNamespace_0(rctx, inboundMarshaler, client, req, pathParams)
 | 
				
			||||||
 | 
							ctx = runtime.NewServerMetadataContext(ctx, md)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 | 
				
			||||||
 | 
								return
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							forward_HeadscaleService_DeleteNamespace_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						mux.Handle("GET", pattern_HeadscaleService_ListNamespaces_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
 | 
				
			||||||
 | 
							ctx, cancel := context.WithCancel(req.Context())
 | 
				
			||||||
 | 
							defer cancel()
 | 
				
			||||||
 | 
							inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 | 
				
			||||||
 | 
							rctx, err := runtime.AnnotateContext(ctx, mux, req, "/headscale.v1.HeadscaleService/ListNamespaces", runtime.WithHTTPPathPattern("/api/v1/namespace"))
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 | 
				
			||||||
 | 
								return
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							resp, md, err := request_HeadscaleService_ListNamespaces_0(rctx, inboundMarshaler, client, req, pathParams)
 | 
				
			||||||
 | 
							ctx = runtime.NewServerMetadataContext(ctx, md)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 | 
				
			||||||
 | 
								return
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							forward_HeadscaleService_ListNamespaces_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var (
 | 
				
			||||||
 | 
						pattern_HeadscaleService_GetMachine_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "machine", "machine_id"}, ""))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						pattern_HeadscaleService_CreateNamespace_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "namespace"}, ""))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						pattern_HeadscaleService_DeleteNamespace_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "namespace"}, ""))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						pattern_HeadscaleService_ListNamespaces_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "namespace"}, ""))
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var (
 | 
				
			||||||
 | 
						forward_HeadscaleService_GetMachine_0 = runtime.ForwardResponseMessage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						forward_HeadscaleService_CreateNamespace_0 = runtime.ForwardResponseMessage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						forward_HeadscaleService_DeleteNamespace_0 = runtime.ForwardResponseMessage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						forward_HeadscaleService_ListNamespaces_0 = runtime.ForwardResponseMessage
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
							
								
								
									
										209
									
								
								gen/go/headscale/v1/rpc_grpc.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										209
									
								
								gen/go/headscale/v1/rpc_grpc.pb.go
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,209 @@
 | 
				
			|||||||
 | 
					// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package v1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						context "context"
 | 
				
			||||||
 | 
						grpc "google.golang.org/grpc"
 | 
				
			||||||
 | 
						codes "google.golang.org/grpc/codes"
 | 
				
			||||||
 | 
						status "google.golang.org/grpc/status"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// This is a compile-time assertion to ensure that this generated file
 | 
				
			||||||
 | 
					// is compatible with the grpc package it is being compiled against.
 | 
				
			||||||
 | 
					// Requires gRPC-Go v1.32.0 or later.
 | 
				
			||||||
 | 
					const _ = grpc.SupportPackageIsVersion7
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// HeadscaleServiceClient is the client API for HeadscaleService service.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
 | 
				
			||||||
 | 
					type HeadscaleServiceClient interface {
 | 
				
			||||||
 | 
						GetMachine(ctx context.Context, in *GetMachineRequest, opts ...grpc.CallOption) (*GetMachineResponse, error)
 | 
				
			||||||
 | 
						CreateNamespace(ctx context.Context, in *CreateNamespaceRequest, opts ...grpc.CallOption) (*CreateNamespaceResponse, error)
 | 
				
			||||||
 | 
						DeleteNamespace(ctx context.Context, in *DeleteNamespaceRequest, opts ...grpc.CallOption) (*DeleteNamespaceResponse, error)
 | 
				
			||||||
 | 
						ListNamespaces(ctx context.Context, in *ListNamespacesRequest, opts ...grpc.CallOption) (*ListNamespacesResponse, error)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type headscaleServiceClient struct {
 | 
				
			||||||
 | 
						cc grpc.ClientConnInterface
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func NewHeadscaleServiceClient(cc grpc.ClientConnInterface) HeadscaleServiceClient {
 | 
				
			||||||
 | 
						return &headscaleServiceClient{cc}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (c *headscaleServiceClient) GetMachine(ctx context.Context, in *GetMachineRequest, opts ...grpc.CallOption) (*GetMachineResponse, error) {
 | 
				
			||||||
 | 
						out := new(GetMachineResponse)
 | 
				
			||||||
 | 
						err := c.cc.Invoke(ctx, "/headscale.v1.HeadscaleService/GetMachine", in, out, opts...)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return out, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (c *headscaleServiceClient) CreateNamespace(ctx context.Context, in *CreateNamespaceRequest, opts ...grpc.CallOption) (*CreateNamespaceResponse, error) {
 | 
				
			||||||
 | 
						out := new(CreateNamespaceResponse)
 | 
				
			||||||
 | 
						err := c.cc.Invoke(ctx, "/headscale.v1.HeadscaleService/CreateNamespace", in, out, opts...)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return out, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (c *headscaleServiceClient) DeleteNamespace(ctx context.Context, in *DeleteNamespaceRequest, opts ...grpc.CallOption) (*DeleteNamespaceResponse, error) {
 | 
				
			||||||
 | 
						out := new(DeleteNamespaceResponse)
 | 
				
			||||||
 | 
						err := c.cc.Invoke(ctx, "/headscale.v1.HeadscaleService/DeleteNamespace", in, out, opts...)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return out, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (c *headscaleServiceClient) ListNamespaces(ctx context.Context, in *ListNamespacesRequest, opts ...grpc.CallOption) (*ListNamespacesResponse, error) {
 | 
				
			||||||
 | 
						out := new(ListNamespacesResponse)
 | 
				
			||||||
 | 
						err := c.cc.Invoke(ctx, "/headscale.v1.HeadscaleService/ListNamespaces", in, out, opts...)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return out, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// HeadscaleServiceServer is the server API for HeadscaleService service.
 | 
				
			||||||
 | 
					// All implementations must embed UnimplementedHeadscaleServiceServer
 | 
				
			||||||
 | 
					// for forward compatibility
 | 
				
			||||||
 | 
					type HeadscaleServiceServer interface {
 | 
				
			||||||
 | 
						GetMachine(context.Context, *GetMachineRequest) (*GetMachineResponse, error)
 | 
				
			||||||
 | 
						CreateNamespace(context.Context, *CreateNamespaceRequest) (*CreateNamespaceResponse, error)
 | 
				
			||||||
 | 
						DeleteNamespace(context.Context, *DeleteNamespaceRequest) (*DeleteNamespaceResponse, error)
 | 
				
			||||||
 | 
						ListNamespaces(context.Context, *ListNamespacesRequest) (*ListNamespacesResponse, error)
 | 
				
			||||||
 | 
						mustEmbedUnimplementedHeadscaleServiceServer()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// UnimplementedHeadscaleServiceServer must be embedded to have forward compatible implementations.
 | 
				
			||||||
 | 
					type UnimplementedHeadscaleServiceServer struct {
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (UnimplementedHeadscaleServiceServer) GetMachine(context.Context, *GetMachineRequest) (*GetMachineResponse, error) {
 | 
				
			||||||
 | 
						return nil, status.Errorf(codes.Unimplemented, "method GetMachine not implemented")
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					func (UnimplementedHeadscaleServiceServer) CreateNamespace(context.Context, *CreateNamespaceRequest) (*CreateNamespaceResponse, error) {
 | 
				
			||||||
 | 
						return nil, status.Errorf(codes.Unimplemented, "method CreateNamespace not implemented")
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					func (UnimplementedHeadscaleServiceServer) DeleteNamespace(context.Context, *DeleteNamespaceRequest) (*DeleteNamespaceResponse, error) {
 | 
				
			||||||
 | 
						return nil, status.Errorf(codes.Unimplemented, "method DeleteNamespace not implemented")
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					func (UnimplementedHeadscaleServiceServer) ListNamespaces(context.Context, *ListNamespacesRequest) (*ListNamespacesResponse, error) {
 | 
				
			||||||
 | 
						return nil, status.Errorf(codes.Unimplemented, "method ListNamespaces not implemented")
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					func (UnimplementedHeadscaleServiceServer) mustEmbedUnimplementedHeadscaleServiceServer() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// UnsafeHeadscaleServiceServer may be embedded to opt out of forward compatibility for this service.
 | 
				
			||||||
 | 
					// Use of this interface is not recommended, as added methods to HeadscaleServiceServer will
 | 
				
			||||||
 | 
					// result in compilation errors.
 | 
				
			||||||
 | 
					type UnsafeHeadscaleServiceServer interface {
 | 
				
			||||||
 | 
						mustEmbedUnimplementedHeadscaleServiceServer()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func RegisterHeadscaleServiceServer(s grpc.ServiceRegistrar, srv HeadscaleServiceServer) {
 | 
				
			||||||
 | 
						s.RegisterService(&HeadscaleService_ServiceDesc, srv)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func _HeadscaleService_GetMachine_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
				
			||||||
 | 
						in := new(GetMachineRequest)
 | 
				
			||||||
 | 
						if err := dec(in); err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if interceptor == nil {
 | 
				
			||||||
 | 
							return srv.(HeadscaleServiceServer).GetMachine(ctx, in)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						info := &grpc.UnaryServerInfo{
 | 
				
			||||||
 | 
							Server:     srv,
 | 
				
			||||||
 | 
							FullMethod: "/headscale.v1.HeadscaleService/GetMachine",
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
				
			||||||
 | 
							return srv.(HeadscaleServiceServer).GetMachine(ctx, req.(*GetMachineRequest))
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return interceptor(ctx, in, info, handler)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func _HeadscaleService_CreateNamespace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
				
			||||||
 | 
						in := new(CreateNamespaceRequest)
 | 
				
			||||||
 | 
						if err := dec(in); err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if interceptor == nil {
 | 
				
			||||||
 | 
							return srv.(HeadscaleServiceServer).CreateNamespace(ctx, in)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						info := &grpc.UnaryServerInfo{
 | 
				
			||||||
 | 
							Server:     srv,
 | 
				
			||||||
 | 
							FullMethod: "/headscale.v1.HeadscaleService/CreateNamespace",
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
				
			||||||
 | 
							return srv.(HeadscaleServiceServer).CreateNamespace(ctx, req.(*CreateNamespaceRequest))
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return interceptor(ctx, in, info, handler)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func _HeadscaleService_DeleteNamespace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
				
			||||||
 | 
						in := new(DeleteNamespaceRequest)
 | 
				
			||||||
 | 
						if err := dec(in); err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if interceptor == nil {
 | 
				
			||||||
 | 
							return srv.(HeadscaleServiceServer).DeleteNamespace(ctx, in)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						info := &grpc.UnaryServerInfo{
 | 
				
			||||||
 | 
							Server:     srv,
 | 
				
			||||||
 | 
							FullMethod: "/headscale.v1.HeadscaleService/DeleteNamespace",
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
				
			||||||
 | 
							return srv.(HeadscaleServiceServer).DeleteNamespace(ctx, req.(*DeleteNamespaceRequest))
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return interceptor(ctx, in, info, handler)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func _HeadscaleService_ListNamespaces_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
				
			||||||
 | 
						in := new(ListNamespacesRequest)
 | 
				
			||||||
 | 
						if err := dec(in); err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if interceptor == nil {
 | 
				
			||||||
 | 
							return srv.(HeadscaleServiceServer).ListNamespaces(ctx, in)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						info := &grpc.UnaryServerInfo{
 | 
				
			||||||
 | 
							Server:     srv,
 | 
				
			||||||
 | 
							FullMethod: "/headscale.v1.HeadscaleService/ListNamespaces",
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
				
			||||||
 | 
							return srv.(HeadscaleServiceServer).ListNamespaces(ctx, req.(*ListNamespacesRequest))
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return interceptor(ctx, in, info, handler)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// HeadscaleService_ServiceDesc is the grpc.ServiceDesc for HeadscaleService service.
 | 
				
			||||||
 | 
					// It's only intended for direct use with grpc.RegisterService,
 | 
				
			||||||
 | 
					// and not to be introspected or modified (even as a copy)
 | 
				
			||||||
 | 
					var HeadscaleService_ServiceDesc = grpc.ServiceDesc{
 | 
				
			||||||
 | 
						ServiceName: "headscale.v1.HeadscaleService",
 | 
				
			||||||
 | 
						HandlerType: (*HeadscaleServiceServer)(nil),
 | 
				
			||||||
 | 
						Methods: []grpc.MethodDesc{
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								MethodName: "GetMachine",
 | 
				
			||||||
 | 
								Handler:    _HeadscaleService_GetMachine_Handler,
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								MethodName: "CreateNamespace",
 | 
				
			||||||
 | 
								Handler:    _HeadscaleService_CreateNamespace_Handler,
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								MethodName: "DeleteNamespace",
 | 
				
			||||||
 | 
								Handler:    _HeadscaleService_DeleteNamespace_Handler,
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								MethodName: "ListNamespaces",
 | 
				
			||||||
 | 
								Handler:    _HeadscaleService_ListNamespaces_Handler,
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						Streams:  []grpc.StreamDesc{},
 | 
				
			||||||
 | 
						Metadata: "headscale/v1/rpc.proto",
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -1,702 +0,0 @@
 | 
				
			|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
 | 
					 | 
				
			||||||
// versions:
 | 
					 | 
				
			||||||
// 	protoc-gen-go v1.27.1
 | 
					 | 
				
			||||||
// 	protoc        v3.18.1
 | 
					 | 
				
			||||||
// source: v1/headscale.proto
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
package v1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import (
 | 
					 | 
				
			||||||
	_ "github.com/infobloxopen/protoc-gen-gorm/options"
 | 
					 | 
				
			||||||
	_ "google.golang.org/genproto/googleapis/api/annotations"
 | 
					 | 
				
			||||||
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
 | 
					 | 
				
			||||||
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 | 
					 | 
				
			||||||
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
 | 
					 | 
				
			||||||
	reflect "reflect"
 | 
					 | 
				
			||||||
	sync "sync"
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const (
 | 
					 | 
				
			||||||
	// Verify that this generated code is sufficiently up-to-date.
 | 
					 | 
				
			||||||
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
 | 
					 | 
				
			||||||
	// Verify that runtime/protoimpl is sufficiently up-to-date.
 | 
					 | 
				
			||||||
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
type RegisterMethod int32
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const (
 | 
					 | 
				
			||||||
	RegisterMethod_AUTH_KEY RegisterMethod = 0
 | 
					 | 
				
			||||||
	RegisterMethod_CLI      RegisterMethod = 1
 | 
					 | 
				
			||||||
	RegisterMethod_OIDC     RegisterMethod = 2
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Enum value maps for RegisterMethod.
 | 
					 | 
				
			||||||
var (
 | 
					 | 
				
			||||||
	RegisterMethod_name = map[int32]string{
 | 
					 | 
				
			||||||
		0: "AUTH_KEY",
 | 
					 | 
				
			||||||
		1: "CLI",
 | 
					 | 
				
			||||||
		2: "OIDC",
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	RegisterMethod_value = map[string]int32{
 | 
					 | 
				
			||||||
		"AUTH_KEY": 0,
 | 
					 | 
				
			||||||
		"CLI":      1,
 | 
					 | 
				
			||||||
		"OIDC":     2,
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x RegisterMethod) Enum() *RegisterMethod {
 | 
					 | 
				
			||||||
	p := new(RegisterMethod)
 | 
					 | 
				
			||||||
	*p = x
 | 
					 | 
				
			||||||
	return p
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x RegisterMethod) String() string {
 | 
					 | 
				
			||||||
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (RegisterMethod) Descriptor() protoreflect.EnumDescriptor {
 | 
					 | 
				
			||||||
	return file_v1_headscale_proto_enumTypes[0].Descriptor()
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (RegisterMethod) Type() protoreflect.EnumType {
 | 
					 | 
				
			||||||
	return &file_v1_headscale_proto_enumTypes[0]
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x RegisterMethod) Number() protoreflect.EnumNumber {
 | 
					 | 
				
			||||||
	return protoreflect.EnumNumber(x)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Deprecated: Use RegisterMethod.Descriptor instead.
 | 
					 | 
				
			||||||
func (RegisterMethod) EnumDescriptor() ([]byte, []int) {
 | 
					 | 
				
			||||||
	return file_v1_headscale_proto_rawDescGZIP(), []int{0}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
type Namespace struct {
 | 
					 | 
				
			||||||
	state         protoimpl.MessageState
 | 
					 | 
				
			||||||
	sizeCache     protoimpl.SizeCache
 | 
					 | 
				
			||||||
	unknownFields protoimpl.UnknownFields
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"`
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *Namespace) Reset() {
 | 
					 | 
				
			||||||
	*x = Namespace{}
 | 
					 | 
				
			||||||
	if protoimpl.UnsafeEnabled {
 | 
					 | 
				
			||||||
		mi := &file_v1_headscale_proto_msgTypes[0]
 | 
					 | 
				
			||||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
					 | 
				
			||||||
		ms.StoreMessageInfo(mi)
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *Namespace) String() string {
 | 
					 | 
				
			||||||
	return protoimpl.X.MessageStringOf(x)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (*Namespace) ProtoMessage() {}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *Namespace) ProtoReflect() protoreflect.Message {
 | 
					 | 
				
			||||||
	mi := &file_v1_headscale_proto_msgTypes[0]
 | 
					 | 
				
			||||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
					 | 
				
			||||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
					 | 
				
			||||||
		if ms.LoadMessageInfo() == nil {
 | 
					 | 
				
			||||||
			ms.StoreMessageInfo(mi)
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		return ms
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return mi.MessageOf(x)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Deprecated: Use Namespace.ProtoReflect.Descriptor instead.
 | 
					 | 
				
			||||||
func (*Namespace) Descriptor() ([]byte, []int) {
 | 
					 | 
				
			||||||
	return file_v1_headscale_proto_rawDescGZIP(), []int{0}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *Namespace) GetName() string {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.Name
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return ""
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
type PreAuthKey struct {
 | 
					 | 
				
			||||||
	state         protoimpl.MessageState
 | 
					 | 
				
			||||||
	sizeCache     protoimpl.SizeCache
 | 
					 | 
				
			||||||
	unknownFields protoimpl.UnknownFields
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	ID          uint64                 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
 | 
					 | 
				
			||||||
	Key         string                 `protobuf:"bytes,2,opt,name=Key,proto3" json:"Key,omitempty"`
 | 
					 | 
				
			||||||
	NamespaceID uint32                 `protobuf:"varint,3,opt,name=NamespaceID,proto3" json:"NamespaceID,omitempty"`
 | 
					 | 
				
			||||||
	Namespace   *Namespace             `protobuf:"bytes,4,opt,name=Namespace,proto3" json:"Namespace,omitempty"`
 | 
					 | 
				
			||||||
	Reusable    bool                   `protobuf:"varint,5,opt,name=Reusable,proto3" json:"Reusable,omitempty"`
 | 
					 | 
				
			||||||
	Ephemeral   bool                   `protobuf:"varint,6,opt,name=Ephemeral,proto3" json:"Ephemeral,omitempty"`
 | 
					 | 
				
			||||||
	Used        bool                   `protobuf:"varint,7,opt,name=Used,proto3" json:"Used,omitempty"`
 | 
					 | 
				
			||||||
	CreatedAt   *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=CreatedAt,proto3" json:"CreatedAt,omitempty"`
 | 
					 | 
				
			||||||
	Expiration  *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=Expiration,proto3" json:"Expiration,omitempty"`
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *PreAuthKey) Reset() {
 | 
					 | 
				
			||||||
	*x = PreAuthKey{}
 | 
					 | 
				
			||||||
	if protoimpl.UnsafeEnabled {
 | 
					 | 
				
			||||||
		mi := &file_v1_headscale_proto_msgTypes[1]
 | 
					 | 
				
			||||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
					 | 
				
			||||||
		ms.StoreMessageInfo(mi)
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *PreAuthKey) String() string {
 | 
					 | 
				
			||||||
	return protoimpl.X.MessageStringOf(x)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (*PreAuthKey) ProtoMessage() {}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *PreAuthKey) ProtoReflect() protoreflect.Message {
 | 
					 | 
				
			||||||
	mi := &file_v1_headscale_proto_msgTypes[1]
 | 
					 | 
				
			||||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
					 | 
				
			||||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
					 | 
				
			||||||
		if ms.LoadMessageInfo() == nil {
 | 
					 | 
				
			||||||
			ms.StoreMessageInfo(mi)
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		return ms
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return mi.MessageOf(x)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Deprecated: Use PreAuthKey.ProtoReflect.Descriptor instead.
 | 
					 | 
				
			||||||
func (*PreAuthKey) Descriptor() ([]byte, []int) {
 | 
					 | 
				
			||||||
	return file_v1_headscale_proto_rawDescGZIP(), []int{1}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *PreAuthKey) GetID() uint64 {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.ID
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return 0
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *PreAuthKey) GetKey() string {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.Key
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return ""
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *PreAuthKey) GetNamespaceID() uint32 {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.NamespaceID
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return 0
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *PreAuthKey) GetNamespace() *Namespace {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.Namespace
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return nil
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *PreAuthKey) GetReusable() bool {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.Reusable
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return false
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *PreAuthKey) GetEphemeral() bool {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.Ephemeral
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return false
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *PreAuthKey) GetUsed() bool {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.Used
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return false
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *PreAuthKey) GetCreatedAt() *timestamppb.Timestamp {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.CreatedAt
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return nil
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *PreAuthKey) GetExpiration() *timestamppb.Timestamp {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.Expiration
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return nil
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
type GetMachineRequest struct {
 | 
					 | 
				
			||||||
	state         protoimpl.MessageState
 | 
					 | 
				
			||||||
	sizeCache     protoimpl.SizeCache
 | 
					 | 
				
			||||||
	unknownFields protoimpl.UnknownFields
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	MachineId uint64 `protobuf:"varint,1,opt,name=machine_id,json=machineId,proto3" json:"machine_id,omitempty"`
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *GetMachineRequest) Reset() {
 | 
					 | 
				
			||||||
	*x = GetMachineRequest{}
 | 
					 | 
				
			||||||
	if protoimpl.UnsafeEnabled {
 | 
					 | 
				
			||||||
		mi := &file_v1_headscale_proto_msgTypes[2]
 | 
					 | 
				
			||||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
					 | 
				
			||||||
		ms.StoreMessageInfo(mi)
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *GetMachineRequest) String() string {
 | 
					 | 
				
			||||||
	return protoimpl.X.MessageStringOf(x)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (*GetMachineRequest) ProtoMessage() {}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *GetMachineRequest) ProtoReflect() protoreflect.Message {
 | 
					 | 
				
			||||||
	mi := &file_v1_headscale_proto_msgTypes[2]
 | 
					 | 
				
			||||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
					 | 
				
			||||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
					 | 
				
			||||||
		if ms.LoadMessageInfo() == nil {
 | 
					 | 
				
			||||||
			ms.StoreMessageInfo(mi)
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		return ms
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return mi.MessageOf(x)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Deprecated: Use GetMachineRequest.ProtoReflect.Descriptor instead.
 | 
					 | 
				
			||||||
func (*GetMachineRequest) Descriptor() ([]byte, []int) {
 | 
					 | 
				
			||||||
	return file_v1_headscale_proto_rawDescGZIP(), []int{2}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *GetMachineRequest) GetMachineId() uint64 {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.MachineId
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return 0
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
type Machine struct {
 | 
					 | 
				
			||||||
	state         protoimpl.MessageState
 | 
					 | 
				
			||||||
	sizeCache     protoimpl.SizeCache
 | 
					 | 
				
			||||||
	unknownFields protoimpl.UnknownFields
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	ID                   uint64                 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
 | 
					 | 
				
			||||||
	MachineKey           string                 `protobuf:"bytes,2,opt,name=MachineKey,proto3" json:"MachineKey,omitempty"`
 | 
					 | 
				
			||||||
	NodeKey              string                 `protobuf:"bytes,3,opt,name=NodeKey,proto3" json:"NodeKey,omitempty"`
 | 
					 | 
				
			||||||
	DiscoKey             string                 `protobuf:"bytes,4,opt,name=DiscoKey,proto3" json:"DiscoKey,omitempty"`
 | 
					 | 
				
			||||||
	IPAddress            string                 `protobuf:"bytes,5,opt,name=IPAddress,proto3" json:"IPAddress,omitempty"`
 | 
					 | 
				
			||||||
	Name                 string                 `protobuf:"bytes,6,opt,name=Name,proto3" json:"Name,omitempty"`
 | 
					 | 
				
			||||||
	NamespaceID          uint32                 `protobuf:"varint,7,opt,name=NamespaceID,proto3" json:"NamespaceID,omitempty"`
 | 
					 | 
				
			||||||
	Registered           bool                   `protobuf:"varint,8,opt,name=Registered,proto3" json:"Registered,omitempty"`
 | 
					 | 
				
			||||||
	RegisterMethod       RegisterMethod         `protobuf:"varint,9,opt,name=RegisterMethod,proto3,enum=headscale.v1.RegisterMethod" json:"RegisterMethod,omitempty"`
 | 
					 | 
				
			||||||
	AuthKeyID            uint32                 `protobuf:"varint,10,opt,name=AuthKeyID,proto3" json:"AuthKeyID,omitempty"`
 | 
					 | 
				
			||||||
	AuthKey              *PreAuthKey            `protobuf:"bytes,11,opt,name=AuthKey,proto3" json:"AuthKey,omitempty"`
 | 
					 | 
				
			||||||
	LastSeen             *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=LastSeen,proto3" json:"LastSeen,omitempty"`
 | 
					 | 
				
			||||||
	LastSuccessfulUpdate *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=LastSuccessfulUpdate,proto3" json:"LastSuccessfulUpdate,omitempty"`
 | 
					 | 
				
			||||||
	Expiry               *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=Expiry,proto3" json:"Expiry,omitempty"`
 | 
					 | 
				
			||||||
	HostInfo             []byte                 `protobuf:"bytes,15,opt,name=HostInfo,proto3" json:"HostInfo,omitempty"`
 | 
					 | 
				
			||||||
	Endpoints            []byte                 `protobuf:"bytes,16,opt,name=Endpoints,proto3" json:"Endpoints,omitempty"`
 | 
					 | 
				
			||||||
	EnabledRoutes        []byte                 `protobuf:"bytes,17,opt,name=EnabledRoutes,proto3" json:"EnabledRoutes,omitempty"`
 | 
					 | 
				
			||||||
	CreatedAt            *timestamppb.Timestamp `protobuf:"bytes,18,opt,name=CreatedAt,proto3" json:"CreatedAt,omitempty"`
 | 
					 | 
				
			||||||
	UpdatedAt            *timestamppb.Timestamp `protobuf:"bytes,19,opt,name=UpdatedAt,proto3" json:"UpdatedAt,omitempty"`
 | 
					 | 
				
			||||||
	DeletedAt            *timestamppb.Timestamp `protobuf:"bytes,20,opt,name=DeletedAt,proto3" json:"DeletedAt,omitempty"`
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *Machine) Reset() {
 | 
					 | 
				
			||||||
	*x = Machine{}
 | 
					 | 
				
			||||||
	if protoimpl.UnsafeEnabled {
 | 
					 | 
				
			||||||
		mi := &file_v1_headscale_proto_msgTypes[3]
 | 
					 | 
				
			||||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
					 | 
				
			||||||
		ms.StoreMessageInfo(mi)
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *Machine) String() string {
 | 
					 | 
				
			||||||
	return protoimpl.X.MessageStringOf(x)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (*Machine) ProtoMessage() {}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *Machine) ProtoReflect() protoreflect.Message {
 | 
					 | 
				
			||||||
	mi := &file_v1_headscale_proto_msgTypes[3]
 | 
					 | 
				
			||||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
					 | 
				
			||||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
					 | 
				
			||||||
		if ms.LoadMessageInfo() == nil {
 | 
					 | 
				
			||||||
			ms.StoreMessageInfo(mi)
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		return ms
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return mi.MessageOf(x)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Deprecated: Use Machine.ProtoReflect.Descriptor instead.
 | 
					 | 
				
			||||||
func (*Machine) Descriptor() ([]byte, []int) {
 | 
					 | 
				
			||||||
	return file_v1_headscale_proto_rawDescGZIP(), []int{3}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *Machine) GetID() uint64 {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.ID
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return 0
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *Machine) GetMachineKey() string {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.MachineKey
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return ""
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *Machine) GetNodeKey() string {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.NodeKey
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return ""
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *Machine) GetDiscoKey() string {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.DiscoKey
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return ""
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *Machine) GetIPAddress() string {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.IPAddress
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return ""
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *Machine) GetName() string {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.Name
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return ""
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *Machine) GetNamespaceID() uint32 {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.NamespaceID
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return 0
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *Machine) GetRegistered() bool {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.Registered
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return false
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *Machine) GetRegisterMethod() RegisterMethod {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.RegisterMethod
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return RegisterMethod_AUTH_KEY
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *Machine) GetAuthKeyID() uint32 {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.AuthKeyID
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return 0
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *Machine) GetAuthKey() *PreAuthKey {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.AuthKey
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return nil
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *Machine) GetLastSeen() *timestamppb.Timestamp {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.LastSeen
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return nil
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *Machine) GetLastSuccessfulUpdate() *timestamppb.Timestamp {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.LastSuccessfulUpdate
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return nil
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *Machine) GetExpiry() *timestamppb.Timestamp {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.Expiry
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return nil
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *Machine) GetHostInfo() []byte {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.HostInfo
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return nil
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *Machine) GetEndpoints() []byte {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.Endpoints
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return nil
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *Machine) GetEnabledRoutes() []byte {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.EnabledRoutes
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return nil
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *Machine) GetCreatedAt() *timestamppb.Timestamp {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.CreatedAt
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return nil
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *Machine) GetUpdatedAt() *timestamppb.Timestamp {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.UpdatedAt
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return nil
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *Machine) GetDeletedAt() *timestamppb.Timestamp {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.DeletedAt
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return nil
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
var File_v1_headscale_proto protoreflect.FileDescriptor
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
var file_v1_headscale_proto_rawDesc = []byte{
 | 
					 | 
				
			||||||
	0x0a, 0x12, 0x76, 0x31, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x70,
 | 
					 | 
				
			||||||
	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e,
 | 
					 | 
				
			||||||
	0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
 | 
					 | 
				
			||||||
	0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72,
 | 
					 | 
				
			||||||
	0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f,
 | 
					 | 
				
			||||||
	0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
 | 
					 | 
				
			||||||
	0x6f, 0x1a, 0x12, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6f, 0x72, 0x6d, 0x2e,
 | 
					 | 
				
			||||||
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1f, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61,
 | 
					 | 
				
			||||||
	0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
 | 
					 | 
				
			||||||
	0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xcb, 0x02, 0x0a, 0x0a, 0x50, 0x72, 0x65, 0x41, 0x75,
 | 
					 | 
				
			||||||
	0x74, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28,
 | 
					 | 
				
			||||||
	0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x03, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01,
 | 
					 | 
				
			||||||
	0x28, 0x09, 0x52, 0x03, 0x4b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x4e, 0x61, 0x6d, 0x65, 0x73,
 | 
					 | 
				
			||||||
	0x70, 0x61, 0x63, 0x65, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x4e, 0x61,
 | 
					 | 
				
			||||||
	0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x44, 0x12, 0x35, 0x0a, 0x09, 0x4e, 0x61, 0x6d,
 | 
					 | 
				
			||||||
	0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68,
 | 
					 | 
				
			||||||
	0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65,
 | 
					 | 
				
			||||||
	0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65,
 | 
					 | 
				
			||||||
	0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01,
 | 
					 | 
				
			||||||
	0x28, 0x08, 0x52, 0x08, 0x52, 0x65, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09,
 | 
					 | 
				
			||||||
	0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
 | 
					 | 
				
			||||||
	0x09, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x55, 0x73,
 | 
					 | 
				
			||||||
	0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x55, 0x73, 0x65, 0x64, 0x12, 0x38,
 | 
					 | 
				
			||||||
	0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28,
 | 
					 | 
				
			||||||
	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
 | 
					 | 
				
			||||||
	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x43,
 | 
					 | 
				
			||||||
	0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3a, 0x0a, 0x0a, 0x45, 0x78, 0x70, 0x69,
 | 
					 | 
				
			||||||
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
 | 
					 | 
				
			||||||
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
 | 
					 | 
				
			||||||
	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61,
 | 
					 | 
				
			||||||
	0x74, 0x69, 0x6f, 0x6e, 0x22, 0x32, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69,
 | 
					 | 
				
			||||||
	0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x63,
 | 
					 | 
				
			||||||
	0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6d,
 | 
					 | 
				
			||||||
	0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x22, 0xcd, 0x06, 0x0a, 0x07, 0x4d, 0x61, 0x63,
 | 
					 | 
				
			||||||
	0x68, 0x69, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
 | 
					 | 
				
			||||||
	0x52, 0x02, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x4b,
 | 
					 | 
				
			||||||
	0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e,
 | 
					 | 
				
			||||||
	0x65, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x4e, 0x6f, 0x64, 0x65, 0x4b, 0x65, 0x79, 0x18,
 | 
					 | 
				
			||||||
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x4e, 0x6f, 0x64, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x1a,
 | 
					 | 
				
			||||||
	0x0a, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x4b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
 | 
					 | 
				
			||||||
	0x52, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x50,
 | 
					 | 
				
			||||||
	0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x49,
 | 
					 | 
				
			||||||
	0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65,
 | 
					 | 
				
			||||||
	0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b,
 | 
					 | 
				
			||||||
	0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28,
 | 
					 | 
				
			||||||
	0x0d, 0x52, 0x0b, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x44, 0x12, 0x1e,
 | 
					 | 
				
			||||||
	0x0a, 0x0a, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01,
 | 
					 | 
				
			||||||
	0x28, 0x08, 0x52, 0x0a, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x12, 0x44,
 | 
					 | 
				
			||||||
	0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64,
 | 
					 | 
				
			||||||
	0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61,
 | 
					 | 
				
			||||||
	0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65,
 | 
					 | 
				
			||||||
	0x74, 0x68, 0x6f, 0x64, 0x52, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65,
 | 
					 | 
				
			||||||
	0x74, 0x68, 0x6f, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x49,
 | 
					 | 
				
			||||||
	0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79,
 | 
					 | 
				
			||||||
	0x49, 0x44, 0x12, 0x32, 0x0a, 0x07, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x18, 0x0b, 0x20,
 | 
					 | 
				
			||||||
	0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e,
 | 
					 | 
				
			||||||
	0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x52, 0x07, 0x41,
 | 
					 | 
				
			||||||
	0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x08, 0x4c, 0x61, 0x73, 0x74, 0x53, 0x65,
 | 
					 | 
				
			||||||
	0x65, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
 | 
					 | 
				
			||||||
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
 | 
					 | 
				
			||||||
	0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x4c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x12, 0x4e,
 | 
					 | 
				
			||||||
	0x0a, 0x14, 0x4c, 0x61, 0x73, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c,
 | 
					 | 
				
			||||||
	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
 | 
					 | 
				
			||||||
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
 | 
					 | 
				
			||||||
	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x14, 0x4c, 0x61, 0x73, 0x74, 0x53, 0x75,
 | 
					 | 
				
			||||||
	0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x32,
 | 
					 | 
				
			||||||
	0x0a, 0x06, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
 | 
					 | 
				
			||||||
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
 | 
					 | 
				
			||||||
	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x06, 0x45, 0x78, 0x70, 0x69,
 | 
					 | 
				
			||||||
	0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x48, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0f,
 | 
					 | 
				
			||||||
	0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x48, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c,
 | 
					 | 
				
			||||||
	0x0a, 0x09, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28,
 | 
					 | 
				
			||||||
	0x0c, 0x52, 0x09, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d,
 | 
					 | 
				
			||||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x11, 0x20,
 | 
					 | 
				
			||||||
	0x01, 0x28, 0x0c, 0x52, 0x0d, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74,
 | 
					 | 
				
			||||||
	0x65, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18,
 | 
					 | 
				
			||||||
	0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
 | 
					 | 
				
			||||||
	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
 | 
					 | 
				
			||||||
	0x70, 0x52, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x38, 0x0a, 0x09,
 | 
					 | 
				
			||||||
	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32,
 | 
					 | 
				
			||||||
	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
 | 
					 | 
				
			||||||
	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x55, 0x70, 0x64,
 | 
					 | 
				
			||||||
	0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x38, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
 | 
					 | 
				
			||||||
	0x64, 0x41, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
 | 
					 | 
				
			||||||
	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
 | 
					 | 
				
			||||||
	0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74,
 | 
					 | 
				
			||||||
	0x3a, 0x06, 0xba, 0xb9, 0x19, 0x02, 0x08, 0x01, 0x2a, 0x31, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69,
 | 
					 | 
				
			||||||
	0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x55,
 | 
					 | 
				
			||||||
	0x54, 0x48, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x43, 0x4c, 0x49, 0x10,
 | 
					 | 
				
			||||||
	0x01, 0x12, 0x08, 0x0a, 0x04, 0x4f, 0x49, 0x44, 0x43, 0x10, 0x02, 0x32, 0x7e, 0x0a, 0x10, 0x48,
 | 
					 | 
				
			||||||
	0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
 | 
					 | 
				
			||||||
	0x6a, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x1f, 0x2e,
 | 
					 | 
				
			||||||
	0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
 | 
					 | 
				
			||||||
	0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15,
 | 
					 | 
				
			||||||
	0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61,
 | 
					 | 
				
			||||||
	0x63, 0x68, 0x69, 0x6e, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f,
 | 
					 | 
				
			||||||
	0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2f, 0x7b,
 | 
					 | 
				
			||||||
	0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x42, 0x29, 0x5a, 0x27, 0x67,
 | 
					 | 
				
			||||||
	0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6a, 0x75, 0x61, 0x6e, 0x66, 0x6f,
 | 
					 | 
				
			||||||
	0x6e, 0x74, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2f, 0x67, 0x65, 0x6e,
 | 
					 | 
				
			||||||
	0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
var (
 | 
					 | 
				
			||||||
	file_v1_headscale_proto_rawDescOnce sync.Once
 | 
					 | 
				
			||||||
	file_v1_headscale_proto_rawDescData = file_v1_headscale_proto_rawDesc
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func file_v1_headscale_proto_rawDescGZIP() []byte {
 | 
					 | 
				
			||||||
	file_v1_headscale_proto_rawDescOnce.Do(func() {
 | 
					 | 
				
			||||||
		file_v1_headscale_proto_rawDescData = protoimpl.X.CompressGZIP(file_v1_headscale_proto_rawDescData)
 | 
					 | 
				
			||||||
	})
 | 
					 | 
				
			||||||
	return file_v1_headscale_proto_rawDescData
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
var file_v1_headscale_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
 | 
					 | 
				
			||||||
var file_v1_headscale_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
 | 
					 | 
				
			||||||
var file_v1_headscale_proto_goTypes = []interface{}{
 | 
					 | 
				
			||||||
	(RegisterMethod)(0),           // 0: headscale.v1.RegisterMethod
 | 
					 | 
				
			||||||
	(*Namespace)(nil),             // 1: headscale.v1.Namespace
 | 
					 | 
				
			||||||
	(*PreAuthKey)(nil),            // 2: headscale.v1.PreAuthKey
 | 
					 | 
				
			||||||
	(*GetMachineRequest)(nil),     // 3: headscale.v1.GetMachineRequest
 | 
					 | 
				
			||||||
	(*Machine)(nil),               // 4: headscale.v1.Machine
 | 
					 | 
				
			||||||
	(*timestamppb.Timestamp)(nil), // 5: google.protobuf.Timestamp
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
var file_v1_headscale_proto_depIdxs = []int32{
 | 
					 | 
				
			||||||
	1,  // 0: headscale.v1.PreAuthKey.Namespace:type_name -> headscale.v1.Namespace
 | 
					 | 
				
			||||||
	5,  // 1: headscale.v1.PreAuthKey.CreatedAt:type_name -> google.protobuf.Timestamp
 | 
					 | 
				
			||||||
	5,  // 2: headscale.v1.PreAuthKey.Expiration:type_name -> google.protobuf.Timestamp
 | 
					 | 
				
			||||||
	0,  // 3: headscale.v1.Machine.RegisterMethod:type_name -> headscale.v1.RegisterMethod
 | 
					 | 
				
			||||||
	2,  // 4: headscale.v1.Machine.AuthKey:type_name -> headscale.v1.PreAuthKey
 | 
					 | 
				
			||||||
	5,  // 5: headscale.v1.Machine.LastSeen:type_name -> google.protobuf.Timestamp
 | 
					 | 
				
			||||||
	5,  // 6: headscale.v1.Machine.LastSuccessfulUpdate:type_name -> google.protobuf.Timestamp
 | 
					 | 
				
			||||||
	5,  // 7: headscale.v1.Machine.Expiry:type_name -> google.protobuf.Timestamp
 | 
					 | 
				
			||||||
	5,  // 8: headscale.v1.Machine.CreatedAt:type_name -> google.protobuf.Timestamp
 | 
					 | 
				
			||||||
	5,  // 9: headscale.v1.Machine.UpdatedAt:type_name -> google.protobuf.Timestamp
 | 
					 | 
				
			||||||
	5,  // 10: headscale.v1.Machine.DeletedAt:type_name -> google.protobuf.Timestamp
 | 
					 | 
				
			||||||
	3,  // 11: headscale.v1.HeadscaleService.GetMachine:input_type -> headscale.v1.GetMachineRequest
 | 
					 | 
				
			||||||
	4,  // 12: headscale.v1.HeadscaleService.GetMachine:output_type -> headscale.v1.Machine
 | 
					 | 
				
			||||||
	12, // [12:13] is the sub-list for method output_type
 | 
					 | 
				
			||||||
	11, // [11:12] is the sub-list for method input_type
 | 
					 | 
				
			||||||
	11, // [11:11] is the sub-list for extension type_name
 | 
					 | 
				
			||||||
	11, // [11:11] is the sub-list for extension extendee
 | 
					 | 
				
			||||||
	0,  // [0:11] is the sub-list for field type_name
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func init() { file_v1_headscale_proto_init() }
 | 
					 | 
				
			||||||
func file_v1_headscale_proto_init() {
 | 
					 | 
				
			||||||
	if File_v1_headscale_proto != nil {
 | 
					 | 
				
			||||||
		return
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	if !protoimpl.UnsafeEnabled {
 | 
					 | 
				
			||||||
		file_v1_headscale_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 | 
					 | 
				
			||||||
			switch v := v.(*Namespace); i {
 | 
					 | 
				
			||||||
			case 0:
 | 
					 | 
				
			||||||
				return &v.state
 | 
					 | 
				
			||||||
			case 1:
 | 
					 | 
				
			||||||
				return &v.sizeCache
 | 
					 | 
				
			||||||
			case 2:
 | 
					 | 
				
			||||||
				return &v.unknownFields
 | 
					 | 
				
			||||||
			default:
 | 
					 | 
				
			||||||
				return nil
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		file_v1_headscale_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 | 
					 | 
				
			||||||
			switch v := v.(*PreAuthKey); i {
 | 
					 | 
				
			||||||
			case 0:
 | 
					 | 
				
			||||||
				return &v.state
 | 
					 | 
				
			||||||
			case 1:
 | 
					 | 
				
			||||||
				return &v.sizeCache
 | 
					 | 
				
			||||||
			case 2:
 | 
					 | 
				
			||||||
				return &v.unknownFields
 | 
					 | 
				
			||||||
			default:
 | 
					 | 
				
			||||||
				return nil
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		file_v1_headscale_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 | 
					 | 
				
			||||||
			switch v := v.(*GetMachineRequest); i {
 | 
					 | 
				
			||||||
			case 0:
 | 
					 | 
				
			||||||
				return &v.state
 | 
					 | 
				
			||||||
			case 1:
 | 
					 | 
				
			||||||
				return &v.sizeCache
 | 
					 | 
				
			||||||
			case 2:
 | 
					 | 
				
			||||||
				return &v.unknownFields
 | 
					 | 
				
			||||||
			default:
 | 
					 | 
				
			||||||
				return nil
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		file_v1_headscale_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 | 
					 | 
				
			||||||
			switch v := v.(*Machine); i {
 | 
					 | 
				
			||||||
			case 0:
 | 
					 | 
				
			||||||
				return &v.state
 | 
					 | 
				
			||||||
			case 1:
 | 
					 | 
				
			||||||
				return &v.sizeCache
 | 
					 | 
				
			||||||
			case 2:
 | 
					 | 
				
			||||||
				return &v.unknownFields
 | 
					 | 
				
			||||||
			default:
 | 
					 | 
				
			||||||
				return nil
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	type x struct{}
 | 
					 | 
				
			||||||
	out := protoimpl.TypeBuilder{
 | 
					 | 
				
			||||||
		File: protoimpl.DescBuilder{
 | 
					 | 
				
			||||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
					 | 
				
			||||||
			RawDescriptor: file_v1_headscale_proto_rawDesc,
 | 
					 | 
				
			||||||
			NumEnums:      1,
 | 
					 | 
				
			||||||
			NumMessages:   4,
 | 
					 | 
				
			||||||
			NumExtensions: 0,
 | 
					 | 
				
			||||||
			NumServices:   1,
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
		GoTypes:           file_v1_headscale_proto_goTypes,
 | 
					 | 
				
			||||||
		DependencyIndexes: file_v1_headscale_proto_depIdxs,
 | 
					 | 
				
			||||||
		EnumInfos:         file_v1_headscale_proto_enumTypes,
 | 
					 | 
				
			||||||
		MessageInfos:      file_v1_headscale_proto_msgTypes,
 | 
					 | 
				
			||||||
	}.Build()
 | 
					 | 
				
			||||||
	File_v1_headscale_proto = out.File
 | 
					 | 
				
			||||||
	file_v1_headscale_proto_rawDesc = nil
 | 
					 | 
				
			||||||
	file_v1_headscale_proto_goTypes = nil
 | 
					 | 
				
			||||||
	file_v1_headscale_proto_depIdxs = nil
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -1,185 +0,0 @@
 | 
				
			|||||||
// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT.
 | 
					 | 
				
			||||||
// source: v1/headscale.proto
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Package v1 is a reverse proxy.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
It translates gRPC into RESTful JSON APIs.
 | 
					 | 
				
			||||||
*/
 | 
					 | 
				
			||||||
package v1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import (
 | 
					 | 
				
			||||||
	"context"
 | 
					 | 
				
			||||||
	"io"
 | 
					 | 
				
			||||||
	"net/http"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	"github.com/grpc-ecosystem/grpc-gateway/v2/runtime"
 | 
					 | 
				
			||||||
	"github.com/grpc-ecosystem/grpc-gateway/v2/utilities"
 | 
					 | 
				
			||||||
	"google.golang.org/grpc"
 | 
					 | 
				
			||||||
	"google.golang.org/grpc/codes"
 | 
					 | 
				
			||||||
	"google.golang.org/grpc/grpclog"
 | 
					 | 
				
			||||||
	"google.golang.org/grpc/metadata"
 | 
					 | 
				
			||||||
	"google.golang.org/grpc/status"
 | 
					 | 
				
			||||||
	"google.golang.org/protobuf/proto"
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Suppress "imported and not used" errors
 | 
					 | 
				
			||||||
var _ codes.Code
 | 
					 | 
				
			||||||
var _ io.Reader
 | 
					 | 
				
			||||||
var _ status.Status
 | 
					 | 
				
			||||||
var _ = runtime.String
 | 
					 | 
				
			||||||
var _ = utilities.NewDoubleArray
 | 
					 | 
				
			||||||
var _ = metadata.Join
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func request_HeadscaleService_GetMachine_0(ctx context.Context, marshaler runtime.Marshaler, client HeadscaleServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
 | 
					 | 
				
			||||||
	var protoReq GetMachineRequest
 | 
					 | 
				
			||||||
	var metadata runtime.ServerMetadata
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	var (
 | 
					 | 
				
			||||||
		val string
 | 
					 | 
				
			||||||
		ok  bool
 | 
					 | 
				
			||||||
		err error
 | 
					 | 
				
			||||||
		_   = err
 | 
					 | 
				
			||||||
	)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	val, ok = pathParams["machine_id"]
 | 
					 | 
				
			||||||
	if !ok {
 | 
					 | 
				
			||||||
		return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "machine_id")
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	protoReq.MachineId, err = runtime.Uint64(val)
 | 
					 | 
				
			||||||
	if err != nil {
 | 
					 | 
				
			||||||
		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "machine_id", err)
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	msg, err := client.GetMachine(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
 | 
					 | 
				
			||||||
	return msg, metadata, err
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func local_request_HeadscaleService_GetMachine_0(ctx context.Context, marshaler runtime.Marshaler, server HeadscaleServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
 | 
					 | 
				
			||||||
	var protoReq GetMachineRequest
 | 
					 | 
				
			||||||
	var metadata runtime.ServerMetadata
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	var (
 | 
					 | 
				
			||||||
		val string
 | 
					 | 
				
			||||||
		ok  bool
 | 
					 | 
				
			||||||
		err error
 | 
					 | 
				
			||||||
		_   = err
 | 
					 | 
				
			||||||
	)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	val, ok = pathParams["machine_id"]
 | 
					 | 
				
			||||||
	if !ok {
 | 
					 | 
				
			||||||
		return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "machine_id")
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	protoReq.MachineId, err = runtime.Uint64(val)
 | 
					 | 
				
			||||||
	if err != nil {
 | 
					 | 
				
			||||||
		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "machine_id", err)
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	msg, err := server.GetMachine(ctx, &protoReq)
 | 
					 | 
				
			||||||
	return msg, metadata, err
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// RegisterHeadscaleServiceHandlerServer registers the http handlers for service HeadscaleService to "mux".
 | 
					 | 
				
			||||||
// UnaryRPC     :call HeadscaleServiceServer directly.
 | 
					 | 
				
			||||||
// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906.
 | 
					 | 
				
			||||||
// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterHeadscaleServiceHandlerFromEndpoint instead.
 | 
					 | 
				
			||||||
func RegisterHeadscaleServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server HeadscaleServiceServer) error {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	mux.Handle("GET", pattern_HeadscaleService_GetMachine_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
 | 
					 | 
				
			||||||
		ctx, cancel := context.WithCancel(req.Context())
 | 
					 | 
				
			||||||
		defer cancel()
 | 
					 | 
				
			||||||
		var stream runtime.ServerTransportStream
 | 
					 | 
				
			||||||
		ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
 | 
					 | 
				
			||||||
		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 | 
					 | 
				
			||||||
		rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/headscale.v1.HeadscaleService/GetMachine", runtime.WithHTTPPathPattern("/api/v1/machine/{machine_id}"))
 | 
					 | 
				
			||||||
		if err != nil {
 | 
					 | 
				
			||||||
			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 | 
					 | 
				
			||||||
			return
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		resp, md, err := local_request_HeadscaleService_GetMachine_0(rctx, inboundMarshaler, server, req, pathParams)
 | 
					 | 
				
			||||||
		md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
 | 
					 | 
				
			||||||
		ctx = runtime.NewServerMetadataContext(ctx, md)
 | 
					 | 
				
			||||||
		if err != nil {
 | 
					 | 
				
			||||||
			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 | 
					 | 
				
			||||||
			return
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		forward_HeadscaleService_GetMachine_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	})
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return nil
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// RegisterHeadscaleServiceHandlerFromEndpoint is same as RegisterHeadscaleServiceHandler but
 | 
					 | 
				
			||||||
// automatically dials to "endpoint" and closes the connection when "ctx" gets done.
 | 
					 | 
				
			||||||
func RegisterHeadscaleServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) {
 | 
					 | 
				
			||||||
	conn, err := grpc.Dial(endpoint, opts...)
 | 
					 | 
				
			||||||
	if err != nil {
 | 
					 | 
				
			||||||
		return err
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	defer func() {
 | 
					 | 
				
			||||||
		if err != nil {
 | 
					 | 
				
			||||||
			if cerr := conn.Close(); cerr != nil {
 | 
					 | 
				
			||||||
				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			return
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		go func() {
 | 
					 | 
				
			||||||
			<-ctx.Done()
 | 
					 | 
				
			||||||
			if cerr := conn.Close(); cerr != nil {
 | 
					 | 
				
			||||||
				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}()
 | 
					 | 
				
			||||||
	}()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return RegisterHeadscaleServiceHandler(ctx, mux, conn)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// RegisterHeadscaleServiceHandler registers the http handlers for service HeadscaleService to "mux".
 | 
					 | 
				
			||||||
// The handlers forward requests to the grpc endpoint over "conn".
 | 
					 | 
				
			||||||
func RegisterHeadscaleServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error {
 | 
					 | 
				
			||||||
	return RegisterHeadscaleServiceHandlerClient(ctx, mux, NewHeadscaleServiceClient(conn))
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// RegisterHeadscaleServiceHandlerClient registers the http handlers for service HeadscaleService
 | 
					 | 
				
			||||||
// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "HeadscaleServiceClient".
 | 
					 | 
				
			||||||
// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "HeadscaleServiceClient"
 | 
					 | 
				
			||||||
// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in
 | 
					 | 
				
			||||||
// "HeadscaleServiceClient" to call the correct interceptors.
 | 
					 | 
				
			||||||
func RegisterHeadscaleServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client HeadscaleServiceClient) error {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	mux.Handle("GET", pattern_HeadscaleService_GetMachine_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
 | 
					 | 
				
			||||||
		ctx, cancel := context.WithCancel(req.Context())
 | 
					 | 
				
			||||||
		defer cancel()
 | 
					 | 
				
			||||||
		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 | 
					 | 
				
			||||||
		rctx, err := runtime.AnnotateContext(ctx, mux, req, "/headscale.v1.HeadscaleService/GetMachine", runtime.WithHTTPPathPattern("/api/v1/machine/{machine_id}"))
 | 
					 | 
				
			||||||
		if err != nil {
 | 
					 | 
				
			||||||
			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 | 
					 | 
				
			||||||
			return
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		resp, md, err := request_HeadscaleService_GetMachine_0(rctx, inboundMarshaler, client, req, pathParams)
 | 
					 | 
				
			||||||
		ctx = runtime.NewServerMetadataContext(ctx, md)
 | 
					 | 
				
			||||||
		if err != nil {
 | 
					 | 
				
			||||||
			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 | 
					 | 
				
			||||||
			return
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		forward_HeadscaleService_GetMachine_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	})
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return nil
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
var (
 | 
					 | 
				
			||||||
	pattern_HeadscaleService_GetMachine_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "machine", "machine_id"}, ""))
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
var (
 | 
					 | 
				
			||||||
	forward_HeadscaleService_GetMachine_0 = runtime.ForwardResponseMessage
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
@ -1,101 +0,0 @@
 | 
				
			|||||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
package v1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import (
 | 
					 | 
				
			||||||
	context "context"
 | 
					 | 
				
			||||||
	grpc "google.golang.org/grpc"
 | 
					 | 
				
			||||||
	codes "google.golang.org/grpc/codes"
 | 
					 | 
				
			||||||
	status "google.golang.org/grpc/status"
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// This is a compile-time assertion to ensure that this generated file
 | 
					 | 
				
			||||||
// is compatible with the grpc package it is being compiled against.
 | 
					 | 
				
			||||||
// Requires gRPC-Go v1.32.0 or later.
 | 
					 | 
				
			||||||
const _ = grpc.SupportPackageIsVersion7
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// HeadscaleServiceClient is the client API for HeadscaleService service.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
 | 
					 | 
				
			||||||
type HeadscaleServiceClient interface {
 | 
					 | 
				
			||||||
	GetMachine(ctx context.Context, in *GetMachineRequest, opts ...grpc.CallOption) (*Machine, error)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
type headscaleServiceClient struct {
 | 
					 | 
				
			||||||
	cc grpc.ClientConnInterface
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func NewHeadscaleServiceClient(cc grpc.ClientConnInterface) HeadscaleServiceClient {
 | 
					 | 
				
			||||||
	return &headscaleServiceClient{cc}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (c *headscaleServiceClient) GetMachine(ctx context.Context, in *GetMachineRequest, opts ...grpc.CallOption) (*Machine, error) {
 | 
					 | 
				
			||||||
	out := new(Machine)
 | 
					 | 
				
			||||||
	err := c.cc.Invoke(ctx, "/headscale.v1.HeadscaleService/GetMachine", in, out, opts...)
 | 
					 | 
				
			||||||
	if err != nil {
 | 
					 | 
				
			||||||
		return nil, err
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return out, nil
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// HeadscaleServiceServer is the server API for HeadscaleService service.
 | 
					 | 
				
			||||||
// All implementations must embed UnimplementedHeadscaleServiceServer
 | 
					 | 
				
			||||||
// for forward compatibility
 | 
					 | 
				
			||||||
type HeadscaleServiceServer interface {
 | 
					 | 
				
			||||||
	GetMachine(context.Context, *GetMachineRequest) (*Machine, error)
 | 
					 | 
				
			||||||
	mustEmbedUnimplementedHeadscaleServiceServer()
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// UnimplementedHeadscaleServiceServer must be embedded to have forward compatible implementations.
 | 
					 | 
				
			||||||
type UnimplementedHeadscaleServiceServer struct {
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (UnimplementedHeadscaleServiceServer) GetMachine(context.Context, *GetMachineRequest) (*Machine, error) {
 | 
					 | 
				
			||||||
	return nil, status.Errorf(codes.Unimplemented, "method GetMachine not implemented")
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
func (UnimplementedHeadscaleServiceServer) mustEmbedUnimplementedHeadscaleServiceServer() {}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// UnsafeHeadscaleServiceServer may be embedded to opt out of forward compatibility for this service.
 | 
					 | 
				
			||||||
// Use of this interface is not recommended, as added methods to HeadscaleServiceServer will
 | 
					 | 
				
			||||||
// result in compilation errors.
 | 
					 | 
				
			||||||
type UnsafeHeadscaleServiceServer interface {
 | 
					 | 
				
			||||||
	mustEmbedUnimplementedHeadscaleServiceServer()
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func RegisterHeadscaleServiceServer(s grpc.ServiceRegistrar, srv HeadscaleServiceServer) {
 | 
					 | 
				
			||||||
	s.RegisterService(&HeadscaleService_ServiceDesc, srv)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func _HeadscaleService_GetMachine_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
					 | 
				
			||||||
	in := new(GetMachineRequest)
 | 
					 | 
				
			||||||
	if err := dec(in); err != nil {
 | 
					 | 
				
			||||||
		return nil, err
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	if interceptor == nil {
 | 
					 | 
				
			||||||
		return srv.(HeadscaleServiceServer).GetMachine(ctx, in)
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	info := &grpc.UnaryServerInfo{
 | 
					 | 
				
			||||||
		Server:     srv,
 | 
					 | 
				
			||||||
		FullMethod: "/headscale.v1.HeadscaleService/GetMachine",
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
					 | 
				
			||||||
		return srv.(HeadscaleServiceServer).GetMachine(ctx, req.(*GetMachineRequest))
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return interceptor(ctx, in, info, handler)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// HeadscaleService_ServiceDesc is the grpc.ServiceDesc for HeadscaleService service.
 | 
					 | 
				
			||||||
// It's only intended for direct use with grpc.RegisterService,
 | 
					 | 
				
			||||||
// and not to be introspected or modified (even as a copy)
 | 
					 | 
				
			||||||
var HeadscaleService_ServiceDesc = grpc.ServiceDesc{
 | 
					 | 
				
			||||||
	ServiceName: "headscale.v1.HeadscaleService",
 | 
					 | 
				
			||||||
	HandlerType: (*HeadscaleServiceServer)(nil),
 | 
					 | 
				
			||||||
	Methods: []grpc.MethodDesc{
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			MethodName: "GetMachine",
 | 
					 | 
				
			||||||
			Handler:    _HeadscaleService_GetMachine_Handler,
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	Streams:  []grpc.StreamDesc{},
 | 
					 | 
				
			||||||
	Metadata: "v1/headscale.proto",
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
							
								
								
									
										250
									
								
								gen/openapiv2/headscale/v1/rpc.swagger.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										250
									
								
								gen/openapiv2/headscale/v1/rpc.swagger.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,250 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "swagger": "2.0",
 | 
				
			||||||
 | 
					  "info": {
 | 
				
			||||||
 | 
					    "title": "headscale/v1/rpc.proto",
 | 
				
			||||||
 | 
					    "version": "version not set"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "tags": [
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "HeadscaleService"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  "consumes": [
 | 
				
			||||||
 | 
					    "application/json"
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  "produces": [
 | 
				
			||||||
 | 
					    "application/json"
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  "paths": {
 | 
				
			||||||
 | 
					    "/api/v1/machine/{machineId}": {
 | 
				
			||||||
 | 
					      "get": {
 | 
				
			||||||
 | 
					        "operationId": "HeadscaleService_GetMachine",
 | 
				
			||||||
 | 
					        "responses": {
 | 
				
			||||||
 | 
					          "200": {
 | 
				
			||||||
 | 
					            "description": "A successful response.",
 | 
				
			||||||
 | 
					            "schema": {
 | 
				
			||||||
 | 
					              "$ref": "#/definitions/v1GetMachineResponse"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          "default": {
 | 
				
			||||||
 | 
					            "description": "An unexpected error response.",
 | 
				
			||||||
 | 
					            "schema": {
 | 
				
			||||||
 | 
					              "$ref": "#/definitions/rpcStatus"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "parameters": [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            "name": "machineId",
 | 
				
			||||||
 | 
					            "in": "path",
 | 
				
			||||||
 | 
					            "required": true,
 | 
				
			||||||
 | 
					            "type": "string",
 | 
				
			||||||
 | 
					            "format": "uint64"
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "tags": [
 | 
				
			||||||
 | 
					          "HeadscaleService"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "/api/v1/namespace": {
 | 
				
			||||||
 | 
					      "get": {
 | 
				
			||||||
 | 
					        "operationId": "HeadscaleService_ListNamespaces",
 | 
				
			||||||
 | 
					        "responses": {
 | 
				
			||||||
 | 
					          "200": {
 | 
				
			||||||
 | 
					            "description": "A successful response.",
 | 
				
			||||||
 | 
					            "schema": {
 | 
				
			||||||
 | 
					              "$ref": "#/definitions/v1ListNamespacesResponse"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          "default": {
 | 
				
			||||||
 | 
					            "description": "An unexpected error response.",
 | 
				
			||||||
 | 
					            "schema": {
 | 
				
			||||||
 | 
					              "$ref": "#/definitions/rpcStatus"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "tags": [
 | 
				
			||||||
 | 
					          "HeadscaleService"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "delete": {
 | 
				
			||||||
 | 
					        "operationId": "HeadscaleService_DeleteNamespace",
 | 
				
			||||||
 | 
					        "responses": {
 | 
				
			||||||
 | 
					          "200": {
 | 
				
			||||||
 | 
					            "description": "A successful response.",
 | 
				
			||||||
 | 
					            "schema": {
 | 
				
			||||||
 | 
					              "$ref": "#/definitions/v1DeleteNamespaceResponse"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          "default": {
 | 
				
			||||||
 | 
					            "description": "An unexpected error response.",
 | 
				
			||||||
 | 
					            "schema": {
 | 
				
			||||||
 | 
					              "$ref": "#/definitions/rpcStatus"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "parameters": [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            "name": "name",
 | 
				
			||||||
 | 
					            "in": "query",
 | 
				
			||||||
 | 
					            "required": false,
 | 
				
			||||||
 | 
					            "type": "string"
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "tags": [
 | 
				
			||||||
 | 
					          "HeadscaleService"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "post": {
 | 
				
			||||||
 | 
					        "operationId": "HeadscaleService_CreateNamespace",
 | 
				
			||||||
 | 
					        "responses": {
 | 
				
			||||||
 | 
					          "200": {
 | 
				
			||||||
 | 
					            "description": "A successful response.",
 | 
				
			||||||
 | 
					            "schema": {
 | 
				
			||||||
 | 
					              "$ref": "#/definitions/v1CreateNamespaceResponse"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          "default": {
 | 
				
			||||||
 | 
					            "description": "An unexpected error response.",
 | 
				
			||||||
 | 
					            "schema": {
 | 
				
			||||||
 | 
					              "$ref": "#/definitions/rpcStatus"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "parameters": [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            "name": "body",
 | 
				
			||||||
 | 
					            "in": "body",
 | 
				
			||||||
 | 
					            "required": true,
 | 
				
			||||||
 | 
					            "schema": {
 | 
				
			||||||
 | 
					              "$ref": "#/definitions/v1CreateNamespaceRequest"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "tags": [
 | 
				
			||||||
 | 
					          "HeadscaleService"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "definitions": {
 | 
				
			||||||
 | 
					    "protobufAny": {
 | 
				
			||||||
 | 
					      "type": "object",
 | 
				
			||||||
 | 
					      "properties": {
 | 
				
			||||||
 | 
					        "@type": {
 | 
				
			||||||
 | 
					          "type": "string"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "additionalProperties": {}
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "rpcStatus": {
 | 
				
			||||||
 | 
					      "type": "object",
 | 
				
			||||||
 | 
					      "properties": {
 | 
				
			||||||
 | 
					        "code": {
 | 
				
			||||||
 | 
					          "type": "integer",
 | 
				
			||||||
 | 
					          "format": "int32"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "message": {
 | 
				
			||||||
 | 
					          "type": "string"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "details": {
 | 
				
			||||||
 | 
					          "type": "array",
 | 
				
			||||||
 | 
					          "items": {
 | 
				
			||||||
 | 
					            "$ref": "#/definitions/protobufAny"
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "v1CreateNamespaceRequest": {
 | 
				
			||||||
 | 
					      "type": "object",
 | 
				
			||||||
 | 
					      "properties": {
 | 
				
			||||||
 | 
					        "name": {
 | 
				
			||||||
 | 
					          "type": "string"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "v1CreateNamespaceResponse": {
 | 
				
			||||||
 | 
					      "type": "object",
 | 
				
			||||||
 | 
					      "properties": {
 | 
				
			||||||
 | 
					        "name": {
 | 
				
			||||||
 | 
					          "type": "string"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "v1DeleteNamespaceResponse": {
 | 
				
			||||||
 | 
					      "type": "object"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "v1GetMachineResponse": {
 | 
				
			||||||
 | 
					      "type": "object",
 | 
				
			||||||
 | 
					      "properties": {
 | 
				
			||||||
 | 
					        "id": {
 | 
				
			||||||
 | 
					          "type": "string",
 | 
				
			||||||
 | 
					          "format": "uint64"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "machineKey": {
 | 
				
			||||||
 | 
					          "type": "string"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "nodeKey": {
 | 
				
			||||||
 | 
					          "type": "string"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "discoKey": {
 | 
				
			||||||
 | 
					          "type": "string"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "ipAddress": {
 | 
				
			||||||
 | 
					          "type": "string"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "name": {
 | 
				
			||||||
 | 
					          "type": "string"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "namespaceId": {
 | 
				
			||||||
 | 
					          "type": "integer",
 | 
				
			||||||
 | 
					          "format": "int64"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "registered": {
 | 
				
			||||||
 | 
					          "type": "boolean"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "registerMethod": {
 | 
				
			||||||
 | 
					          "$ref": "#/definitions/v1RegisterMethod"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "authKeyId": {
 | 
				
			||||||
 | 
					          "type": "integer",
 | 
				
			||||||
 | 
					          "format": "int64"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "lastSeen": {
 | 
				
			||||||
 | 
					          "type": "string",
 | 
				
			||||||
 | 
					          "format": "date-time"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "lastSuccessfulUpdate": {
 | 
				
			||||||
 | 
					          "type": "string",
 | 
				
			||||||
 | 
					          "format": "date-time"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "expiry": {
 | 
				
			||||||
 | 
					          "type": "string",
 | 
				
			||||||
 | 
					          "format": "date-time"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "v1ListNamespacesResponse": {
 | 
				
			||||||
 | 
					      "type": "object",
 | 
				
			||||||
 | 
					      "properties": {
 | 
				
			||||||
 | 
					        "namespaces": {
 | 
				
			||||||
 | 
					          "type": "array",
 | 
				
			||||||
 | 
					          "items": {
 | 
				
			||||||
 | 
					            "type": "string"
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "v1RegisterMethod": {
 | 
				
			||||||
 | 
					      "type": "string",
 | 
				
			||||||
 | 
					      "enum": [
 | 
				
			||||||
 | 
					        "REGISTER_METHOD_UNSPECIFIED",
 | 
				
			||||||
 | 
					        "REGISTER_METHOD_AUTH_KEY",
 | 
				
			||||||
 | 
					        "REGISTER_METHOD_CLI",
 | 
				
			||||||
 | 
					        "REGISTER_METHOD_OIDC"
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					      "default": "REGISTER_METHOD_UNSPECIFIED"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -1,210 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "swagger": "2.0",
 | 
					 | 
				
			||||||
  "info": {
 | 
					 | 
				
			||||||
    "title": "v1/headscale.proto",
 | 
					 | 
				
			||||||
    "version": "version not set"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  "tags": [
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "name": "HeadscaleService"
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  ],
 | 
					 | 
				
			||||||
  "consumes": [
 | 
					 | 
				
			||||||
    "application/json"
 | 
					 | 
				
			||||||
  ],
 | 
					 | 
				
			||||||
  "produces": [
 | 
					 | 
				
			||||||
    "application/json"
 | 
					 | 
				
			||||||
  ],
 | 
					 | 
				
			||||||
  "paths": {
 | 
					 | 
				
			||||||
    "/api/v1/machine/{machineId}": {
 | 
					 | 
				
			||||||
      "get": {
 | 
					 | 
				
			||||||
        "operationId": "HeadscaleService_GetMachine",
 | 
					 | 
				
			||||||
        "responses": {
 | 
					 | 
				
			||||||
          "200": {
 | 
					 | 
				
			||||||
            "description": "A successful response.",
 | 
					 | 
				
			||||||
            "schema": {
 | 
					 | 
				
			||||||
              "$ref": "#/definitions/v1Machine"
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
          "default": {
 | 
					 | 
				
			||||||
            "description": "An unexpected error response.",
 | 
					 | 
				
			||||||
            "schema": {
 | 
					 | 
				
			||||||
              "$ref": "#/definitions/rpcStatus"
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "parameters": [
 | 
					 | 
				
			||||||
          {
 | 
					 | 
				
			||||||
            "name": "machineId",
 | 
					 | 
				
			||||||
            "in": "path",
 | 
					 | 
				
			||||||
            "required": true,
 | 
					 | 
				
			||||||
            "type": "string",
 | 
					 | 
				
			||||||
            "format": "uint64"
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        ],
 | 
					 | 
				
			||||||
        "tags": [
 | 
					 | 
				
			||||||
          "HeadscaleService"
 | 
					 | 
				
			||||||
        ]
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  "definitions": {
 | 
					 | 
				
			||||||
    "protobufAny": {
 | 
					 | 
				
			||||||
      "type": "object",
 | 
					 | 
				
			||||||
      "properties": {
 | 
					 | 
				
			||||||
        "@type": {
 | 
					 | 
				
			||||||
          "type": "string"
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "additionalProperties": {}
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "rpcStatus": {
 | 
					 | 
				
			||||||
      "type": "object",
 | 
					 | 
				
			||||||
      "properties": {
 | 
					 | 
				
			||||||
        "code": {
 | 
					 | 
				
			||||||
          "type": "integer",
 | 
					 | 
				
			||||||
          "format": "int32"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "message": {
 | 
					 | 
				
			||||||
          "type": "string"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "details": {
 | 
					 | 
				
			||||||
          "type": "array",
 | 
					 | 
				
			||||||
          "items": {
 | 
					 | 
				
			||||||
            "$ref": "#/definitions/protobufAny"
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "v1Machine": {
 | 
					 | 
				
			||||||
      "type": "object",
 | 
					 | 
				
			||||||
      "properties": {
 | 
					 | 
				
			||||||
        "ID": {
 | 
					 | 
				
			||||||
          "type": "string",
 | 
					 | 
				
			||||||
          "format": "uint64"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "MachineKey": {
 | 
					 | 
				
			||||||
          "type": "string"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "NodeKey": {
 | 
					 | 
				
			||||||
          "type": "string"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "DiscoKey": {
 | 
					 | 
				
			||||||
          "type": "string"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "IPAddress": {
 | 
					 | 
				
			||||||
          "type": "string"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "Name": {
 | 
					 | 
				
			||||||
          "type": "string"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "NamespaceID": {
 | 
					 | 
				
			||||||
          "type": "integer",
 | 
					 | 
				
			||||||
          "format": "int64"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "Registered": {
 | 
					 | 
				
			||||||
          "type": "boolean"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "RegisterMethod": {
 | 
					 | 
				
			||||||
          "$ref": "#/definitions/v1RegisterMethod"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "AuthKeyID": {
 | 
					 | 
				
			||||||
          "type": "integer",
 | 
					 | 
				
			||||||
          "format": "int64"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "AuthKey": {
 | 
					 | 
				
			||||||
          "$ref": "#/definitions/v1PreAuthKey"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "LastSeen": {
 | 
					 | 
				
			||||||
          "type": "string",
 | 
					 | 
				
			||||||
          "format": "date-time"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "LastSuccessfulUpdate": {
 | 
					 | 
				
			||||||
          "type": "string",
 | 
					 | 
				
			||||||
          "format": "date-time"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "Expiry": {
 | 
					 | 
				
			||||||
          "type": "string",
 | 
					 | 
				
			||||||
          "format": "date-time"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "HostInfo": {
 | 
					 | 
				
			||||||
          "type": "string",
 | 
					 | 
				
			||||||
          "format": "byte"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "Endpoints": {
 | 
					 | 
				
			||||||
          "type": "string",
 | 
					 | 
				
			||||||
          "format": "byte"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "EnabledRoutes": {
 | 
					 | 
				
			||||||
          "type": "string",
 | 
					 | 
				
			||||||
          "format": "byte"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "CreatedAt": {
 | 
					 | 
				
			||||||
          "type": "string",
 | 
					 | 
				
			||||||
          "format": "date-time"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "UpdatedAt": {
 | 
					 | 
				
			||||||
          "type": "string",
 | 
					 | 
				
			||||||
          "format": "date-time"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "DeletedAt": {
 | 
					 | 
				
			||||||
          "type": "string",
 | 
					 | 
				
			||||||
          "format": "date-time"
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "v1Namespace": {
 | 
					 | 
				
			||||||
      "type": "object",
 | 
					 | 
				
			||||||
      "properties": {
 | 
					 | 
				
			||||||
        "Name": {
 | 
					 | 
				
			||||||
          "type": "string"
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "v1PreAuthKey": {
 | 
					 | 
				
			||||||
      "type": "object",
 | 
					 | 
				
			||||||
      "properties": {
 | 
					 | 
				
			||||||
        "ID": {
 | 
					 | 
				
			||||||
          "type": "string",
 | 
					 | 
				
			||||||
          "format": "uint64"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "Key": {
 | 
					 | 
				
			||||||
          "type": "string"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "NamespaceID": {
 | 
					 | 
				
			||||||
          "type": "integer",
 | 
					 | 
				
			||||||
          "format": "int64"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "Namespace": {
 | 
					 | 
				
			||||||
          "$ref": "#/definitions/v1Namespace"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "Reusable": {
 | 
					 | 
				
			||||||
          "type": "boolean"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "Ephemeral": {
 | 
					 | 
				
			||||||
          "type": "boolean"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "Used": {
 | 
					 | 
				
			||||||
          "type": "boolean"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "CreatedAt": {
 | 
					 | 
				
			||||||
          "type": "string",
 | 
					 | 
				
			||||||
          "format": "date-time"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "Expiration": {
 | 
					 | 
				
			||||||
          "type": "string",
 | 
					 | 
				
			||||||
          "format": "date-time"
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "v1RegisterMethod": {
 | 
					 | 
				
			||||||
      "type": "string",
 | 
					 | 
				
			||||||
      "enum": [
 | 
					 | 
				
			||||||
        "AUTH_KEY",
 | 
					 | 
				
			||||||
        "CLI",
 | 
					 | 
				
			||||||
        "OIDC"
 | 
					 | 
				
			||||||
      ],
 | 
					 | 
				
			||||||
      "default": "AUTH_KEY"
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
							
								
								
									
										106
									
								
								proto/headscale/v1/rpc.proto
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										106
									
								
								proto/headscale/v1/rpc.proto
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,106 @@
 | 
				
			|||||||
 | 
					syntax = "proto3";
 | 
				
			||||||
 | 
					package headscale.v1;
 | 
				
			||||||
 | 
					option  go_package = "github.com/juanfont/headscale/gen/go/v1";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import "google/protobuf/timestamp.proto";
 | 
				
			||||||
 | 
					import "google/api/annotations.proto";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					enum RegisterMethod {
 | 
				
			||||||
 | 
					    REGISTER_METHOD_UNSPECIFIED = 0;
 | 
				
			||||||
 | 
					    REGISTER_METHOD_AUTH_KEY    = 1;
 | 
				
			||||||
 | 
					    REGISTER_METHOD_CLI         = 2;
 | 
				
			||||||
 | 
					    REGISTER_METHOD_OIDC        = 3;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// message PreAuthKey {
 | 
				
			||||||
 | 
					//     uint64 id           = 1;
 | 
				
			||||||
 | 
					//     string key          = 2;
 | 
				
			||||||
 | 
					//     uint32 namespace_id = 3;
 | 
				
			||||||
 | 
					//     Namespace namespace = 4;
 | 
				
			||||||
 | 
					//     bool reusable       = 5;
 | 
				
			||||||
 | 
					//     bool ephemeral      = 6;
 | 
				
			||||||
 | 
					//     bool used           = 7;
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     google.protobuf.Timestamp created_at = 8;
 | 
				
			||||||
 | 
					//     google.protobuf.Timestamp expiration = 9;
 | 
				
			||||||
 | 
					// }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message GetMachineRequest {
 | 
				
			||||||
 | 
					    uint64 machine_id = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message GetMachineResponse {
 | 
				
			||||||
 | 
					    uint64 id           = 1;
 | 
				
			||||||
 | 
					    string machine_key  = 2;
 | 
				
			||||||
 | 
					    string node_key     = 3;
 | 
				
			||||||
 | 
					    string disco_key    = 4;
 | 
				
			||||||
 | 
					    string ip_address   = 5;
 | 
				
			||||||
 | 
					    string name         = 6;
 | 
				
			||||||
 | 
					    uint32 namespace_id = 7;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    bool           registered      = 8;
 | 
				
			||||||
 | 
					    RegisterMethod register_method = 9;
 | 
				
			||||||
 | 
					    uint32         auth_key_id     = 10;
 | 
				
			||||||
 | 
					    // PreAuthKey     auth_key        = 11;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    google.protobuf.Timestamp last_seen              = 12;
 | 
				
			||||||
 | 
					    google.protobuf.Timestamp last_successful_update = 13;
 | 
				
			||||||
 | 
					    google.protobuf.Timestamp expiry                 = 14;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // bytes host_info      = 15;
 | 
				
			||||||
 | 
					    // bytes endpoints      = 16;
 | 
				
			||||||
 | 
					    // bytes enabled_routes = 17;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // google.protobuf.Timestamp created_at = 18;
 | 
				
			||||||
 | 
					    // google.protobuf.Timestamp updated_at = 19;
 | 
				
			||||||
 | 
					    // google.protobuf.Timestamp deleted_at = 20;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message CreateNamespaceRequest {
 | 
				
			||||||
 | 
					    string name = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message CreateNamespaceResponse {
 | 
				
			||||||
 | 
					    string name = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message DeleteNamespaceRequest {
 | 
				
			||||||
 | 
					    string name = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message DeleteNamespaceResponse {
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message ListNamespacesRequest {
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message ListNamespacesResponse {
 | 
				
			||||||
 | 
					    repeated string namespaces = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					service HeadscaleService {
 | 
				
			||||||
 | 
					    rpc GetMachine(GetMachineRequest) returns(GetMachineResponse) {
 | 
				
			||||||
 | 
					        option(google.api.http) = {
 | 
				
			||||||
 | 
					            get : "/api/v1/machine/{machine_id}"
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    rpc CreateNamespace(CreateNamespaceRequest) returns(CreateNamespaceResponse) {
 | 
				
			||||||
 | 
					        option(google.api.http) = {
 | 
				
			||||||
 | 
					            post : "/api/v1/namespace"
 | 
				
			||||||
 | 
					            body : "*"
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    rpc DeleteNamespace(DeleteNamespaceRequest) returns(DeleteNamespaceResponse) {
 | 
				
			||||||
 | 
					        option(google.api.http) = {
 | 
				
			||||||
 | 
					            delete : "/api/v1/namespace"
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    rpc ListNamespaces(ListNamespacesRequest) returns(ListNamespacesResponse) {
 | 
				
			||||||
 | 
					        option(google.api.http) = {
 | 
				
			||||||
 | 
					            get : "/api/v1/namespace"
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -1,71 +0,0 @@
 | 
				
			|||||||
syntax = "proto3";
 | 
					 | 
				
			||||||
package headscale.v1;
 | 
					 | 
				
			||||||
option  go_package = "github.com/juanfont/headscale/gen/go/v1";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import "google/protobuf/timestamp.proto";
 | 
					 | 
				
			||||||
import "google/api/annotations.proto";
 | 
					 | 
				
			||||||
import "options/gorm.proto";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum RegisterMethod {
 | 
					 | 
				
			||||||
    AUTH_KEY = 0;
 | 
					 | 
				
			||||||
    CLI      = 1;
 | 
					 | 
				
			||||||
    OIDC     = 2;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
message Namespace {
 | 
					 | 
				
			||||||
    string Name = 1;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
message PreAuthKey {
 | 
					 | 
				
			||||||
    uint64    ID          = 1;
 | 
					 | 
				
			||||||
    string    Key         = 2;
 | 
					 | 
				
			||||||
    uint32    NamespaceID = 3;
 | 
					 | 
				
			||||||
    Namespace Namespace   = 4;
 | 
					 | 
				
			||||||
    bool      Reusable    = 5;
 | 
					 | 
				
			||||||
    bool      Ephemeral   = 6;
 | 
					 | 
				
			||||||
    bool      Used        = 7;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    google.protobuf.Timestamp CreatedAt  = 8;
 | 
					 | 
				
			||||||
    google.protobuf.Timestamp Expiration = 9;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
message GetMachineRequest {
 | 
					 | 
				
			||||||
    uint64 machine_id = 1;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
message Machine {
 | 
					 | 
				
			||||||
    option(gorm.opts).ormable = true;
 | 
					 | 
				
			||||||
    uint64 ID                 = 1;
 | 
					 | 
				
			||||||
    string MachineKey         = 2;
 | 
					 | 
				
			||||||
    string NodeKey            = 3;
 | 
					 | 
				
			||||||
    string DiscoKey           = 4;
 | 
					 | 
				
			||||||
    string IPAddress          = 5;
 | 
					 | 
				
			||||||
    string Name               = 6;
 | 
					 | 
				
			||||||
    uint32 NamespaceID        = 7;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    bool           Registered     = 8;
 | 
					 | 
				
			||||||
    RegisterMethod RegisterMethod = 9;
 | 
					 | 
				
			||||||
    uint32         AuthKeyID      = 10;
 | 
					 | 
				
			||||||
    PreAuthKey     AuthKey        = 11;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    google.protobuf.Timestamp LastSeen             = 12;
 | 
					 | 
				
			||||||
    google.protobuf.Timestamp LastSuccessfulUpdate = 13;
 | 
					 | 
				
			||||||
    google.protobuf.Timestamp Expiry               = 14;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    bytes HostInfo      = 15;
 | 
					 | 
				
			||||||
    bytes Endpoints     = 16;
 | 
					 | 
				
			||||||
    bytes EnabledRoutes = 17;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    google.protobuf.Timestamp CreatedAt = 18;
 | 
					 | 
				
			||||||
    google.protobuf.Timestamp UpdatedAt = 19;
 | 
					 | 
				
			||||||
    google.protobuf.Timestamp DeletedAt = 20;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Gin Router will prefix this with /api/v1
 | 
					 | 
				
			||||||
service HeadscaleService {
 | 
					 | 
				
			||||||
    rpc GetMachine(GetMachineRequest) returns(Machine) {
 | 
					 | 
				
			||||||
        option(google.api.http) = {
 | 
					 | 
				
			||||||
            get : "/api/v1/machine/{machine_id}"
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user