mirror of
				https://github.com/juanfont/headscale.git
				synced 2025-10-28 10:51:44 +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…
	
		Reference in New Issue
	
	Block a user