mirror of
				https://github.com/juanfont/headscale.git
				synced 2025-10-30 23:51:03 +01:00 
			
		
		
		
	feat: add forcedTags field and update proto
This commit is contained in:
		
							parent
							
								
									bc63c577a9
								
							
						
					
					
						commit
						02f68ebac8
					
				| @ -36,7 +36,7 @@ var file_headscale_v1_headscale_proto_rawDesc = []byte{ | ||||
| 	0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2f, 0x76, | ||||
| 	0x31, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, | ||||
| 	0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x70, 0x69, | ||||
| 	0x6b, 0x65, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xa3, 0x13, 0x0a, 0x10, 0x48, 0x65, | ||||
| 	0x6b, 0x65, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xa7, 0x14, 0x0a, 0x10, 0x48, 0x65, | ||||
| 	0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x77, | ||||
| 	0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, | ||||
| 	0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, | ||||
| @ -119,82 +119,90 @@ var file_headscale_v1_headscale_proto_rawDesc = []byte{ | ||||
| 	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, 0x80, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, | ||||
| 	0x65, 0x72, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x24, 0x2e, 0x68, 0x65, 0x61, 0x64, | ||||
| 	0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, | ||||
| 	0x72, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, | ||||
| 	0x25, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, | ||||
| 	0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, | ||||
| 	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x18, | ||||
| 	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2f, | ||||
| 	0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x7e, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, | ||||
| 	0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x22, 0x2e, 0x68, 0x65, 0x61, 0x64, | ||||
| 	0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, | ||||
| 	0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, | ||||
| 	0x65, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x81, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, | ||||
| 	0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x22, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, | ||||
| 	0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, | ||||
| 	0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x68, 0x65, | ||||
| 	0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, | ||||
| 	0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, | ||||
| 	0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, 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, 0x2e, 0x69, 0x64, 0x7d, 0x3a, 0x01, 0x2a, 0x12, 0x80, 0x01, 0x0a, 0x0f, 0x52, 0x65, | ||||
| 	0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x24, 0x2e, | ||||
| 	0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, | ||||
| 	0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, | ||||
| 	0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, | ||||
| 	0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x63, 0x68, 0x69, | ||||
| 	0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, | ||||
| 	0x02, 0x1a, 0x22, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x61, 0x63, 0x68, | ||||
| 	0x69, 0x6e, 0x65, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x7e, 0x0a, 0x0d, | ||||
| 	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x22, 0x2e, | ||||
| 	0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, | ||||
| 	0x65, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, | ||||
| 	0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x2a, 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, 0x85, 0x01, 0x0a, 0x0d, 0x45, 0x78, 0x70, | ||||
| 	0x69, 0x72, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x22, 0x2e, 0x68, 0x65, 0x61, | ||||
| 	0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, | ||||
| 	0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, | ||||
| 	0x65, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, | ||||
| 	0x74, 0x1a, 0x23, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, | ||||
| 	0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, | ||||
| 	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x2a, 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, 0x85, 0x01, 0x0a, | ||||
| 	0x0d, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x22, | ||||
| 	0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, | ||||
| 	0x70, 0x69, 0x72, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, | ||||
| 	0x6e, 0x73, 0x65, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x22, 0x23, 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, 0x2f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, | ||||
| 	0x12, 0x6e, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, | ||||
| 	0x12, 0x21, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, | ||||
| 	0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, | ||||
| 	0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, | ||||
| 	0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x52, | ||||
| 	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, | ||||
| 	0x0f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, | ||||
| 	0x12, 0x8b, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, | ||||
| 	0x6f, 0x75, 0x74, 0x65, 0x12, 0x24, 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, 0x6f, | ||||
| 	0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 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, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, | ||||
| 	0x65, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x23, 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, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x97, | ||||
| 	0x01, 0x0a, 0x13, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, | ||||
| 	0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, | ||||
| 	0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x63, 0x68, | ||||
| 	0x69, 0x6e, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, | ||||
| 	0x1a, 0x29, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, | ||||
| 	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x6f, 0x75, | ||||
| 	0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x82, 0xd3, 0xe4, | ||||
| 	0x93, 0x02, 0x25, 0x22, 0x23, 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, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x70, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, | ||||
| 	0x74, 0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x21, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, | ||||
| 	0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, | ||||
| 	0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x68, 0x65, | ||||
| 	0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, | ||||
| 	0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, | ||||
| 	0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x22, 0x0e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, | ||||
| 	0x2f, 0x61, 0x70, 0x69, 0x6b, 0x65, 0x79, 0x3a, 0x01, 0x2a, 0x12, 0x77, 0x0a, 0x0c, 0x45, 0x78, | ||||
| 	0x70, 0x69, 0x72, 0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x21, 0x2e, 0x68, 0x65, 0x61, | ||||
| 	0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, | ||||
| 	0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, | ||||
| 	0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, | ||||
| 	0x69, 0x72, 0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, | ||||
| 	0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, | ||||
| 	0x76, 0x31, 0x2f, 0x61, 0x70, 0x69, 0x6b, 0x65, 0x79, 0x2f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, | ||||
| 	0x3a, 0x01, 0x2a, 0x12, 0x6a, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, | ||||
| 	0x79, 0x73, 0x12, 0x20, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, | ||||
| 	0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, | ||||
| 	0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, | ||||
| 	0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x73, 0x52, | ||||
| 	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, | ||||
| 	0x0e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x70, 0x69, 0x6b, 0x65, 0x79, 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, | ||||
| 	0x70, 0x69, 0x72, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, | ||||
| 	0x73, 0x74, 0x1a, 0x23, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, | ||||
| 	0x31, 0x2e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, | ||||
| 	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x22, | ||||
| 	0x23, 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, 0x2f, 0x65, 0x78, | ||||
| 	0x70, 0x69, 0x72, 0x65, 0x12, 0x6e, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, | ||||
| 	0x69, 0x6e, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, | ||||
| 	0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, | ||||
| 	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, | ||||
| 	0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, | ||||
| 	0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0x82, 0xd3, 0xe4, | ||||
| 	0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x61, 0x63, | ||||
| 	0x68, 0x69, 0x6e, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, | ||||
| 	0x69, 0x6e, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x24, 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, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, | ||||
| 	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, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, | ||||
| 	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x23, 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, 0x2f, 0x72, 0x6f, 0x75, 0x74, | ||||
| 	0x65, 0x73, 0x12, 0x97, 0x01, 0x0a, 0x13, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x63, | ||||
| 	0x68, 0x69, 0x6e, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x68, 0x65, 0x61, | ||||
| 	0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, | ||||
| 	0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, | ||||
| 	0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, | ||||
| 	0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, | ||||
| 	0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, | ||||
| 	0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x22, 0x23, 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, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x70, 0x0a, 0x0c, | ||||
| 	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x21, 0x2e, 0x68, | ||||
| 	0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, | ||||
| 	0x74, 0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, | ||||
| 	0x22, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, | ||||
| 	0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, | ||||
| 	0x6e, 0x73, 0x65, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x22, 0x0e, 0x2f, 0x61, 0x70, | ||||
| 	0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x70, 0x69, 0x6b, 0x65, 0x79, 0x3a, 0x01, 0x2a, 0x12, 0x77, | ||||
| 	0x0a, 0x0c, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x21, | ||||
| 	0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, | ||||
| 	0x70, 0x69, 0x72, 0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, | ||||
| 	0x74, 0x1a, 0x22, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, | ||||
| 	0x2e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, | ||||
| 	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, | ||||
| 	0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x70, 0x69, 0x6b, 0x65, 0x79, 0x2f, 0x65, 0x78, | ||||
| 	0x70, 0x69, 0x72, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x6a, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x41, | ||||
| 	0x70, 0x69, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x20, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, | ||||
| 	0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, | ||||
| 	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, | ||||
| 	0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x4b, | ||||
| 	0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x16, 0x82, 0xd3, 0xe4, | ||||
| 	0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x70, 0x69, | ||||
| 	0x6b, 0x65, 0x79, 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_headscale_proto_goTypes = []interface{}{ | ||||
| @ -208,34 +216,36 @@ var file_headscale_v1_headscale_proto_goTypes = []interface{}{ | ||||
| 	(*ListPreAuthKeysRequest)(nil),      // 7: headscale.v1.ListPreAuthKeysRequest | ||||
| 	(*DebugCreateMachineRequest)(nil),   // 8: headscale.v1.DebugCreateMachineRequest | ||||
| 	(*GetMachineRequest)(nil),           // 9: headscale.v1.GetMachineRequest | ||||
| 	(*RegisterMachineRequest)(nil),      // 10: headscale.v1.RegisterMachineRequest | ||||
| 	(*DeleteMachineRequest)(nil),        // 11: headscale.v1.DeleteMachineRequest | ||||
| 	(*ExpireMachineRequest)(nil),        // 12: headscale.v1.ExpireMachineRequest | ||||
| 	(*ListMachinesRequest)(nil),         // 13: headscale.v1.ListMachinesRequest | ||||
| 	(*GetMachineRouteRequest)(nil),      // 14: headscale.v1.GetMachineRouteRequest | ||||
| 	(*EnableMachineRoutesRequest)(nil),  // 15: headscale.v1.EnableMachineRoutesRequest | ||||
| 	(*CreateApiKeyRequest)(nil),         // 16: headscale.v1.CreateApiKeyRequest | ||||
| 	(*ExpireApiKeyRequest)(nil),         // 17: headscale.v1.ExpireApiKeyRequest | ||||
| 	(*ListApiKeysRequest)(nil),          // 18: headscale.v1.ListApiKeysRequest | ||||
| 	(*GetNamespaceResponse)(nil),        // 19: headscale.v1.GetNamespaceResponse | ||||
| 	(*CreateNamespaceResponse)(nil),     // 20: headscale.v1.CreateNamespaceResponse | ||||
| 	(*RenameNamespaceResponse)(nil),     // 21: headscale.v1.RenameNamespaceResponse | ||||
| 	(*DeleteNamespaceResponse)(nil),     // 22: headscale.v1.DeleteNamespaceResponse | ||||
| 	(*ListNamespacesResponse)(nil),      // 23: headscale.v1.ListNamespacesResponse | ||||
| 	(*CreatePreAuthKeyResponse)(nil),    // 24: headscale.v1.CreatePreAuthKeyResponse | ||||
| 	(*ExpirePreAuthKeyResponse)(nil),    // 25: headscale.v1.ExpirePreAuthKeyResponse | ||||
| 	(*ListPreAuthKeysResponse)(nil),     // 26: headscale.v1.ListPreAuthKeysResponse | ||||
| 	(*DebugCreateMachineResponse)(nil),  // 27: headscale.v1.DebugCreateMachineResponse | ||||
| 	(*GetMachineResponse)(nil),          // 28: headscale.v1.GetMachineResponse | ||||
| 	(*RegisterMachineResponse)(nil),     // 29: headscale.v1.RegisterMachineResponse | ||||
| 	(*DeleteMachineResponse)(nil),       // 30: headscale.v1.DeleteMachineResponse | ||||
| 	(*ExpireMachineResponse)(nil),       // 31: headscale.v1.ExpireMachineResponse | ||||
| 	(*ListMachinesResponse)(nil),        // 32: headscale.v1.ListMachinesResponse | ||||
| 	(*GetMachineRouteResponse)(nil),     // 33: headscale.v1.GetMachineRouteResponse | ||||
| 	(*EnableMachineRoutesResponse)(nil), // 34: headscale.v1.EnableMachineRoutesResponse | ||||
| 	(*CreateApiKeyResponse)(nil),        // 35: headscale.v1.CreateApiKeyResponse | ||||
| 	(*ExpireApiKeyResponse)(nil),        // 36: headscale.v1.ExpireApiKeyResponse | ||||
| 	(*ListApiKeysResponse)(nil),         // 37: headscale.v1.ListApiKeysResponse | ||||
| 	(*UpdateMachineRequest)(nil),        // 10: headscale.v1.UpdateMachineRequest | ||||
| 	(*RegisterMachineRequest)(nil),      // 11: headscale.v1.RegisterMachineRequest | ||||
| 	(*DeleteMachineRequest)(nil),        // 12: headscale.v1.DeleteMachineRequest | ||||
| 	(*ExpireMachineRequest)(nil),        // 13: headscale.v1.ExpireMachineRequest | ||||
| 	(*ListMachinesRequest)(nil),         // 14: headscale.v1.ListMachinesRequest | ||||
| 	(*GetMachineRouteRequest)(nil),      // 15: headscale.v1.GetMachineRouteRequest | ||||
| 	(*EnableMachineRoutesRequest)(nil),  // 16: headscale.v1.EnableMachineRoutesRequest | ||||
| 	(*CreateApiKeyRequest)(nil),         // 17: headscale.v1.CreateApiKeyRequest | ||||
| 	(*ExpireApiKeyRequest)(nil),         // 18: headscale.v1.ExpireApiKeyRequest | ||||
| 	(*ListApiKeysRequest)(nil),          // 19: headscale.v1.ListApiKeysRequest | ||||
| 	(*GetNamespaceResponse)(nil),        // 20: headscale.v1.GetNamespaceResponse | ||||
| 	(*CreateNamespaceResponse)(nil),     // 21: headscale.v1.CreateNamespaceResponse | ||||
| 	(*RenameNamespaceResponse)(nil),     // 22: headscale.v1.RenameNamespaceResponse | ||||
| 	(*DeleteNamespaceResponse)(nil),     // 23: headscale.v1.DeleteNamespaceResponse | ||||
| 	(*ListNamespacesResponse)(nil),      // 24: headscale.v1.ListNamespacesResponse | ||||
| 	(*CreatePreAuthKeyResponse)(nil),    // 25: headscale.v1.CreatePreAuthKeyResponse | ||||
| 	(*ExpirePreAuthKeyResponse)(nil),    // 26: headscale.v1.ExpirePreAuthKeyResponse | ||||
| 	(*ListPreAuthKeysResponse)(nil),     // 27: headscale.v1.ListPreAuthKeysResponse | ||||
| 	(*DebugCreateMachineResponse)(nil),  // 28: headscale.v1.DebugCreateMachineResponse | ||||
| 	(*GetMachineResponse)(nil),          // 29: headscale.v1.GetMachineResponse | ||||
| 	(*UpdateMachineResponse)(nil),       // 30: headscale.v1.UpdateMachineResponse | ||||
| 	(*RegisterMachineResponse)(nil),     // 31: headscale.v1.RegisterMachineResponse | ||||
| 	(*DeleteMachineResponse)(nil),       // 32: headscale.v1.DeleteMachineResponse | ||||
| 	(*ExpireMachineResponse)(nil),       // 33: headscale.v1.ExpireMachineResponse | ||||
| 	(*ListMachinesResponse)(nil),        // 34: headscale.v1.ListMachinesResponse | ||||
| 	(*GetMachineRouteResponse)(nil),     // 35: headscale.v1.GetMachineRouteResponse | ||||
| 	(*EnableMachineRoutesResponse)(nil), // 36: headscale.v1.EnableMachineRoutesResponse | ||||
| 	(*CreateApiKeyResponse)(nil),        // 37: headscale.v1.CreateApiKeyResponse | ||||
| 	(*ExpireApiKeyResponse)(nil),        // 38: headscale.v1.ExpireApiKeyResponse | ||||
| 	(*ListApiKeysResponse)(nil),         // 39: headscale.v1.ListApiKeysResponse | ||||
| } | ||||
| var file_headscale_v1_headscale_proto_depIdxs = []int32{ | ||||
| 	0,  // 0: headscale.v1.HeadscaleService.GetNamespace:input_type -> headscale.v1.GetNamespaceRequest | ||||
| @ -248,36 +258,38 @@ var file_headscale_v1_headscale_proto_depIdxs = []int32{ | ||||
| 	7,  // 7: headscale.v1.HeadscaleService.ListPreAuthKeys:input_type -> headscale.v1.ListPreAuthKeysRequest | ||||
| 	8,  // 8: headscale.v1.HeadscaleService.DebugCreateMachine:input_type -> headscale.v1.DebugCreateMachineRequest | ||||
| 	9,  // 9: headscale.v1.HeadscaleService.GetMachine:input_type -> headscale.v1.GetMachineRequest | ||||
| 	10, // 10: headscale.v1.HeadscaleService.RegisterMachine:input_type -> headscale.v1.RegisterMachineRequest | ||||
| 	11, // 11: headscale.v1.HeadscaleService.DeleteMachine:input_type -> headscale.v1.DeleteMachineRequest | ||||
| 	12, // 12: headscale.v1.HeadscaleService.ExpireMachine:input_type -> headscale.v1.ExpireMachineRequest | ||||
| 	13, // 13: headscale.v1.HeadscaleService.ListMachines:input_type -> headscale.v1.ListMachinesRequest | ||||
| 	14, // 14: headscale.v1.HeadscaleService.GetMachineRoute:input_type -> headscale.v1.GetMachineRouteRequest | ||||
| 	15, // 15: headscale.v1.HeadscaleService.EnableMachineRoutes:input_type -> headscale.v1.EnableMachineRoutesRequest | ||||
| 	16, // 16: headscale.v1.HeadscaleService.CreateApiKey:input_type -> headscale.v1.CreateApiKeyRequest | ||||
| 	17, // 17: headscale.v1.HeadscaleService.ExpireApiKey:input_type -> headscale.v1.ExpireApiKeyRequest | ||||
| 	18, // 18: headscale.v1.HeadscaleService.ListApiKeys:input_type -> headscale.v1.ListApiKeysRequest | ||||
| 	19, // 19: headscale.v1.HeadscaleService.GetNamespace:output_type -> headscale.v1.GetNamespaceResponse | ||||
| 	20, // 20: headscale.v1.HeadscaleService.CreateNamespace:output_type -> headscale.v1.CreateNamespaceResponse | ||||
| 	21, // 21: headscale.v1.HeadscaleService.RenameNamespace:output_type -> headscale.v1.RenameNamespaceResponse | ||||
| 	22, // 22: headscale.v1.HeadscaleService.DeleteNamespace:output_type -> headscale.v1.DeleteNamespaceResponse | ||||
| 	23, // 23: headscale.v1.HeadscaleService.ListNamespaces:output_type -> headscale.v1.ListNamespacesResponse | ||||
| 	24, // 24: headscale.v1.HeadscaleService.CreatePreAuthKey:output_type -> headscale.v1.CreatePreAuthKeyResponse | ||||
| 	25, // 25: headscale.v1.HeadscaleService.ExpirePreAuthKey:output_type -> headscale.v1.ExpirePreAuthKeyResponse | ||||
| 	26, // 26: headscale.v1.HeadscaleService.ListPreAuthKeys:output_type -> headscale.v1.ListPreAuthKeysResponse | ||||
| 	27, // 27: headscale.v1.HeadscaleService.DebugCreateMachine:output_type -> headscale.v1.DebugCreateMachineResponse | ||||
| 	28, // 28: headscale.v1.HeadscaleService.GetMachine:output_type -> headscale.v1.GetMachineResponse | ||||
| 	29, // 29: headscale.v1.HeadscaleService.RegisterMachine:output_type -> headscale.v1.RegisterMachineResponse | ||||
| 	30, // 30: headscale.v1.HeadscaleService.DeleteMachine:output_type -> headscale.v1.DeleteMachineResponse | ||||
| 	31, // 31: headscale.v1.HeadscaleService.ExpireMachine:output_type -> headscale.v1.ExpireMachineResponse | ||||
| 	32, // 32: headscale.v1.HeadscaleService.ListMachines:output_type -> headscale.v1.ListMachinesResponse | ||||
| 	33, // 33: headscale.v1.HeadscaleService.GetMachineRoute:output_type -> headscale.v1.GetMachineRouteResponse | ||||
| 	34, // 34: headscale.v1.HeadscaleService.EnableMachineRoutes:output_type -> headscale.v1.EnableMachineRoutesResponse | ||||
| 	35, // 35: headscale.v1.HeadscaleService.CreateApiKey:output_type -> headscale.v1.CreateApiKeyResponse | ||||
| 	36, // 36: headscale.v1.HeadscaleService.ExpireApiKey:output_type -> headscale.v1.ExpireApiKeyResponse | ||||
| 	37, // 37: headscale.v1.HeadscaleService.ListApiKeys:output_type -> headscale.v1.ListApiKeysResponse | ||||
| 	19, // [19:38] is the sub-list for method output_type | ||||
| 	0,  // [0:19] is the sub-list for method input_type | ||||
| 	10, // 10: headscale.v1.HeadscaleService.UpdateMachine:input_type -> headscale.v1.UpdateMachineRequest | ||||
| 	11, // 11: headscale.v1.HeadscaleService.RegisterMachine:input_type -> headscale.v1.RegisterMachineRequest | ||||
| 	12, // 12: headscale.v1.HeadscaleService.DeleteMachine:input_type -> headscale.v1.DeleteMachineRequest | ||||
| 	13, // 13: headscale.v1.HeadscaleService.ExpireMachine:input_type -> headscale.v1.ExpireMachineRequest | ||||
| 	14, // 14: headscale.v1.HeadscaleService.ListMachines:input_type -> headscale.v1.ListMachinesRequest | ||||
| 	15, // 15: headscale.v1.HeadscaleService.GetMachineRoute:input_type -> headscale.v1.GetMachineRouteRequest | ||||
| 	16, // 16: headscale.v1.HeadscaleService.EnableMachineRoutes:input_type -> headscale.v1.EnableMachineRoutesRequest | ||||
| 	17, // 17: headscale.v1.HeadscaleService.CreateApiKey:input_type -> headscale.v1.CreateApiKeyRequest | ||||
| 	18, // 18: headscale.v1.HeadscaleService.ExpireApiKey:input_type -> headscale.v1.ExpireApiKeyRequest | ||||
| 	19, // 19: headscale.v1.HeadscaleService.ListApiKeys:input_type -> headscale.v1.ListApiKeysRequest | ||||
| 	20, // 20: headscale.v1.HeadscaleService.GetNamespace:output_type -> headscale.v1.GetNamespaceResponse | ||||
| 	21, // 21: headscale.v1.HeadscaleService.CreateNamespace:output_type -> headscale.v1.CreateNamespaceResponse | ||||
| 	22, // 22: headscale.v1.HeadscaleService.RenameNamespace:output_type -> headscale.v1.RenameNamespaceResponse | ||||
| 	23, // 23: headscale.v1.HeadscaleService.DeleteNamespace:output_type -> headscale.v1.DeleteNamespaceResponse | ||||
| 	24, // 24: headscale.v1.HeadscaleService.ListNamespaces:output_type -> headscale.v1.ListNamespacesResponse | ||||
| 	25, // 25: headscale.v1.HeadscaleService.CreatePreAuthKey:output_type -> headscale.v1.CreatePreAuthKeyResponse | ||||
| 	26, // 26: headscale.v1.HeadscaleService.ExpirePreAuthKey:output_type -> headscale.v1.ExpirePreAuthKeyResponse | ||||
| 	27, // 27: headscale.v1.HeadscaleService.ListPreAuthKeys:output_type -> headscale.v1.ListPreAuthKeysResponse | ||||
| 	28, // 28: headscale.v1.HeadscaleService.DebugCreateMachine:output_type -> headscale.v1.DebugCreateMachineResponse | ||||
| 	29, // 29: headscale.v1.HeadscaleService.GetMachine:output_type -> headscale.v1.GetMachineResponse | ||||
| 	30, // 30: headscale.v1.HeadscaleService.UpdateMachine:output_type -> headscale.v1.UpdateMachineResponse | ||||
| 	31, // 31: headscale.v1.HeadscaleService.RegisterMachine:output_type -> headscale.v1.RegisterMachineResponse | ||||
| 	32, // 32: headscale.v1.HeadscaleService.DeleteMachine:output_type -> headscale.v1.DeleteMachineResponse | ||||
| 	33, // 33: headscale.v1.HeadscaleService.ExpireMachine:output_type -> headscale.v1.ExpireMachineResponse | ||||
| 	34, // 34: headscale.v1.HeadscaleService.ListMachines:output_type -> headscale.v1.ListMachinesResponse | ||||
| 	35, // 35: headscale.v1.HeadscaleService.GetMachineRoute:output_type -> headscale.v1.GetMachineRouteResponse | ||||
| 	36, // 36: headscale.v1.HeadscaleService.EnableMachineRoutes:output_type -> headscale.v1.EnableMachineRoutesResponse | ||||
| 	37, // 37: headscale.v1.HeadscaleService.CreateApiKey:output_type -> headscale.v1.CreateApiKeyResponse | ||||
| 	38, // 38: headscale.v1.HeadscaleService.ExpireApiKey:output_type -> headscale.v1.ExpireApiKeyResponse | ||||
| 	39, // 39: headscale.v1.HeadscaleService.ListApiKeys:output_type -> headscale.v1.ListApiKeysResponse | ||||
| 	20, // [20:40] is the sub-list for method output_type | ||||
| 	0,  // [0:20] is the sub-list for method input_type | ||||
| 	0,  // [0:0] is the sub-list for extension type_name | ||||
| 	0,  // [0:0] is the sub-list for extension extendee | ||||
| 	0,  // [0:0] is the sub-list for field type_name | ||||
|  | ||||
| @ -449,6 +449,74 @@ func local_request_HeadscaleService_GetMachine_0(ctx context.Context, marshaler | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| func request_HeadscaleService_UpdateMachine_0(ctx context.Context, marshaler runtime.Marshaler, client HeadscaleServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { | ||||
| 	var protoReq UpdateMachineRequest | ||||
| 	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) | ||||
| 	} | ||||
| 
 | ||||
| 	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") | ||||
| 	} | ||||
| 
 | ||||
| 	err = runtime.PopulateFieldFromPath(&protoReq, "machine.id", val) | ||||
| 	if err != nil { | ||||
| 		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "machine.id", err) | ||||
| 	} | ||||
| 
 | ||||
| 	msg, err := client.UpdateMachine(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) | ||||
| 	return msg, metadata, err | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| func local_request_HeadscaleService_UpdateMachine_0(ctx context.Context, marshaler runtime.Marshaler, server HeadscaleServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { | ||||
| 	var protoReq UpdateMachineRequest | ||||
| 	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) | ||||
| 	} | ||||
| 
 | ||||
| 	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") | ||||
| 	} | ||||
| 
 | ||||
| 	err = runtime.PopulateFieldFromPath(&protoReq, "machine.id", val) | ||||
| 	if err != nil { | ||||
| 		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "machine.id", err) | ||||
| 	} | ||||
| 
 | ||||
| 	msg, err := server.UpdateMachine(ctx, &protoReq) | ||||
| 	return msg, metadata, err | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| var ( | ||||
| 	filter_HeadscaleService_RegisterMachine_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} | ||||
| ) | ||||
| @ -1069,6 +1137,29 @@ func RegisterHeadscaleServiceHandlerServer(ctx context.Context, mux *runtime.Ser | ||||
| 
 | ||||
| 	}) | ||||
| 
 | ||||
| 	mux.Handle("POST", pattern_HeadscaleService_UpdateMachine_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/UpdateMachine", 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_UpdateMachine_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_UpdateMachine_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) | ||||
| 
 | ||||
| 	}) | ||||
| 
 | ||||
| 	mux.Handle("POST", pattern_HeadscaleService_RegisterMachine_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { | ||||
| 		ctx, cancel := context.WithCancel(req.Context()) | ||||
| 		defer cancel() | ||||
| @ -1517,6 +1608,26 @@ func RegisterHeadscaleServiceHandlerClient(ctx context.Context, mux *runtime.Ser | ||||
| 
 | ||||
| 	}) | ||||
| 
 | ||||
| 	mux.Handle("POST", pattern_HeadscaleService_UpdateMachine_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/UpdateMachine", runtime.WithHTTPPathPattern("/api/v1/machine/{machine.id}")) | ||||
| 		if err != nil { | ||||
| 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) | ||||
| 			return | ||||
| 		} | ||||
| 		resp, md, err := request_HeadscaleService_UpdateMachine_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_UpdateMachine_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) | ||||
| 
 | ||||
| 	}) | ||||
| 
 | ||||
| 	mux.Handle("POST", pattern_HeadscaleService_RegisterMachine_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { | ||||
| 		ctx, cancel := context.WithCancel(req.Context()) | ||||
| 		defer cancel() | ||||
| @ -1721,6 +1832,8 @@ 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_UpdateMachine_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_RegisterMachine_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "machine", "register"}, "")) | ||||
| 
 | ||||
| 	pattern_HeadscaleService_DeleteMachine_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"}, "")) | ||||
| @ -1761,6 +1874,8 @@ var ( | ||||
| 
 | ||||
| 	forward_HeadscaleService_GetMachine_0 = runtime.ForwardResponseMessage | ||||
| 
 | ||||
| 	forward_HeadscaleService_UpdateMachine_0 = runtime.ForwardResponseMessage | ||||
| 
 | ||||
| 	forward_HeadscaleService_RegisterMachine_0 = runtime.ForwardResponseMessage | ||||
| 
 | ||||
| 	forward_HeadscaleService_DeleteMachine_0 = runtime.ForwardResponseMessage | ||||
|  | ||||
| @ -35,6 +35,7 @@ type HeadscaleServiceClient interface { | ||||
| 	// --- Machine start --- | ||||
| 	DebugCreateMachine(ctx context.Context, in *DebugCreateMachineRequest, opts ...grpc.CallOption) (*DebugCreateMachineResponse, error) | ||||
| 	GetMachine(ctx context.Context, in *GetMachineRequest, opts ...grpc.CallOption) (*GetMachineResponse, error) | ||||
| 	UpdateMachine(ctx context.Context, in *UpdateMachineRequest, opts ...grpc.CallOption) (*UpdateMachineResponse, error) | ||||
| 	RegisterMachine(ctx context.Context, in *RegisterMachineRequest, opts ...grpc.CallOption) (*RegisterMachineResponse, error) | ||||
| 	DeleteMachine(ctx context.Context, in *DeleteMachineRequest, opts ...grpc.CallOption) (*DeleteMachineResponse, error) | ||||
| 	ExpireMachine(ctx context.Context, in *ExpireMachineRequest, opts ...grpc.CallOption) (*ExpireMachineResponse, error) | ||||
| @ -146,6 +147,15 @@ func (c *headscaleServiceClient) GetMachine(ctx context.Context, in *GetMachineR | ||||
| 	return out, nil | ||||
| } | ||||
| 
 | ||||
| func (c *headscaleServiceClient) UpdateMachine(ctx context.Context, in *UpdateMachineRequest, opts ...grpc.CallOption) (*UpdateMachineResponse, error) { | ||||
| 	out := new(UpdateMachineResponse) | ||||
| 	err := c.cc.Invoke(ctx, "/headscale.v1.HeadscaleService/UpdateMachine", in, out, opts...) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	return out, nil | ||||
| } | ||||
| 
 | ||||
| func (c *headscaleServiceClient) RegisterMachine(ctx context.Context, in *RegisterMachineRequest, opts ...grpc.CallOption) (*RegisterMachineResponse, error) { | ||||
| 	out := new(RegisterMachineResponse) | ||||
| 	err := c.cc.Invoke(ctx, "/headscale.v1.HeadscaleService/RegisterMachine", in, out, opts...) | ||||
| @ -244,6 +254,7 @@ type HeadscaleServiceServer interface { | ||||
| 	// --- Machine start --- | ||||
| 	DebugCreateMachine(context.Context, *DebugCreateMachineRequest) (*DebugCreateMachineResponse, error) | ||||
| 	GetMachine(context.Context, *GetMachineRequest) (*GetMachineResponse, error) | ||||
| 	UpdateMachine(context.Context, *UpdateMachineRequest) (*UpdateMachineResponse, error) | ||||
| 	RegisterMachine(context.Context, *RegisterMachineRequest) (*RegisterMachineResponse, error) | ||||
| 	DeleteMachine(context.Context, *DeleteMachineRequest) (*DeleteMachineResponse, error) | ||||
| 	ExpireMachine(context.Context, *ExpireMachineRequest) (*ExpireMachineResponse, error) | ||||
| @ -292,6 +303,9 @@ func (UnimplementedHeadscaleServiceServer) DebugCreateMachine(context.Context, * | ||||
| func (UnimplementedHeadscaleServiceServer) GetMachine(context.Context, *GetMachineRequest) (*GetMachineResponse, error) { | ||||
| 	return nil, status.Errorf(codes.Unimplemented, "method GetMachine not implemented") | ||||
| } | ||||
| func (UnimplementedHeadscaleServiceServer) UpdateMachine(context.Context, *UpdateMachineRequest) (*UpdateMachineResponse, error) { | ||||
| 	return nil, status.Errorf(codes.Unimplemented, "method UpdateMachine not implemented") | ||||
| } | ||||
| func (UnimplementedHeadscaleServiceServer) RegisterMachine(context.Context, *RegisterMachineRequest) (*RegisterMachineResponse, error) { | ||||
| 	return nil, status.Errorf(codes.Unimplemented, "method RegisterMachine not implemented") | ||||
| } | ||||
| @ -512,6 +526,24 @@ func _HeadscaleService_GetMachine_Handler(srv interface{}, ctx context.Context, | ||||
| 	return interceptor(ctx, in, info, handler) | ||||
| } | ||||
| 
 | ||||
| func _HeadscaleService_UpdateMachine_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||
| 	in := new(UpdateMachineRequest) | ||||
| 	if err := dec(in); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	if interceptor == nil { | ||||
| 		return srv.(HeadscaleServiceServer).UpdateMachine(ctx, in) | ||||
| 	} | ||||
| 	info := &grpc.UnaryServerInfo{ | ||||
| 		Server:     srv, | ||||
| 		FullMethod: "/headscale.v1.HeadscaleService/UpdateMachine", | ||||
| 	} | ||||
| 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||
| 		return srv.(HeadscaleServiceServer).UpdateMachine(ctx, req.(*UpdateMachineRequest)) | ||||
| 	} | ||||
| 	return interceptor(ctx, in, info, handler) | ||||
| } | ||||
| 
 | ||||
| func _HeadscaleService_RegisterMachine_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||
| 	in := new(RegisterMachineRequest) | ||||
| 	if err := dec(in); err != nil { | ||||
| @ -721,6 +753,10 @@ var HeadscaleService_ServiceDesc = grpc.ServiceDesc{ | ||||
| 			MethodName: "GetMachine", | ||||
| 			Handler:    _HeadscaleService_GetMachine_Handler, | ||||
| 		}, | ||||
| 		{ | ||||
| 			MethodName: "UpdateMachine", | ||||
| 			Handler:    _HeadscaleService_UpdateMachine_Handler, | ||||
| 		}, | ||||
| 		{ | ||||
| 			MethodName: "RegisterMachine", | ||||
| 			Handler:    _HeadscaleService_RegisterMachine_Handler, | ||||
|  | ||||
| @ -91,6 +91,7 @@ type Machine struct { | ||||
| 	PreAuthKey           *PreAuthKey            `protobuf:"bytes,11,opt,name=pre_auth_key,json=preAuthKey,proto3" json:"pre_auth_key,omitempty"` | ||||
| 	CreatedAt            *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` | ||||
| 	RegisterMethod       RegisterMethod         `protobuf:"varint,13,opt,name=register_method,json=registerMethod,proto3,enum=headscale.v1.RegisterMethod" json:"register_method,omitempty"` | ||||
| 	ForcedTags           []string               `protobuf:"bytes,14,rep,name=forced_tags,json=forcedTags,proto3" json:"forced_tags,omitempty"` | ||||
| } | ||||
| 
 | ||||
| func (x *Machine) Reset() { | ||||
| @ -216,6 +217,13 @@ func (x *Machine) GetRegisterMethod() RegisterMethod { | ||||
| 	return RegisterMethod_REGISTER_METHOD_UNSPECIFIED | ||||
| } | ||||
| 
 | ||||
| func (x *Machine) GetForcedTags() []string { | ||||
| 	if x != nil { | ||||
| 		return x.ForcedTags | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| type RegisterMachineRequest struct { | ||||
| 	state         protoimpl.MessageState | ||||
| 	sizeCache     protoimpl.SizeCache | ||||
| @ -412,6 +420,100 @@ func (x *GetMachineResponse) GetMachine() *Machine { | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| type UpdateMachineRequest struct { | ||||
| 	state         protoimpl.MessageState | ||||
| 	sizeCache     protoimpl.SizeCache | ||||
| 	unknownFields protoimpl.UnknownFields | ||||
| 
 | ||||
| 	Machine *Machine `protobuf:"bytes,1,opt,name=machine,proto3" json:"machine,omitempty"` | ||||
| } | ||||
| 
 | ||||
| func (x *UpdateMachineRequest) Reset() { | ||||
| 	*x = UpdateMachineRequest{} | ||||
| 	if protoimpl.UnsafeEnabled { | ||||
| 		mi := &file_headscale_v1_machine_proto_msgTypes[5] | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		ms.StoreMessageInfo(mi) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func (x *UpdateMachineRequest) String() string { | ||||
| 	return protoimpl.X.MessageStringOf(x) | ||||
| } | ||||
| 
 | ||||
| func (*UpdateMachineRequest) ProtoMessage() {} | ||||
| 
 | ||||
| func (x *UpdateMachineRequest) ProtoReflect() protoreflect.Message { | ||||
| 	mi := &file_headscale_v1_machine_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 UpdateMachineRequest.ProtoReflect.Descriptor instead. | ||||
| func (*UpdateMachineRequest) Descriptor() ([]byte, []int) { | ||||
| 	return file_headscale_v1_machine_proto_rawDescGZIP(), []int{5} | ||||
| } | ||||
| 
 | ||||
| func (x *UpdateMachineRequest) GetMachine() *Machine { | ||||
| 	if x != nil { | ||||
| 		return x.Machine | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| type UpdateMachineResponse struct { | ||||
| 	state         protoimpl.MessageState | ||||
| 	sizeCache     protoimpl.SizeCache | ||||
| 	unknownFields protoimpl.UnknownFields | ||||
| 
 | ||||
| 	Machine *Machine `protobuf:"bytes,1,opt,name=machine,proto3" json:"machine,omitempty"` | ||||
| } | ||||
| 
 | ||||
| func (x *UpdateMachineResponse) Reset() { | ||||
| 	*x = UpdateMachineResponse{} | ||||
| 	if protoimpl.UnsafeEnabled { | ||||
| 		mi := &file_headscale_v1_machine_proto_msgTypes[6] | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		ms.StoreMessageInfo(mi) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func (x *UpdateMachineResponse) String() string { | ||||
| 	return protoimpl.X.MessageStringOf(x) | ||||
| } | ||||
| 
 | ||||
| func (*UpdateMachineResponse) ProtoMessage() {} | ||||
| 
 | ||||
| func (x *UpdateMachineResponse) ProtoReflect() protoreflect.Message { | ||||
| 	mi := &file_headscale_v1_machine_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 UpdateMachineResponse.ProtoReflect.Descriptor instead. | ||||
| func (*UpdateMachineResponse) Descriptor() ([]byte, []int) { | ||||
| 	return file_headscale_v1_machine_proto_rawDescGZIP(), []int{6} | ||||
| } | ||||
| 
 | ||||
| func (x *UpdateMachineResponse) GetMachine() *Machine { | ||||
| 	if x != nil { | ||||
| 		return x.Machine | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| type DeleteMachineRequest struct { | ||||
| 	state         protoimpl.MessageState | ||||
| 	sizeCache     protoimpl.SizeCache | ||||
| @ -423,7 +525,7 @@ type DeleteMachineRequest struct { | ||||
| func (x *DeleteMachineRequest) Reset() { | ||||
| 	*x = DeleteMachineRequest{} | ||||
| 	if protoimpl.UnsafeEnabled { | ||||
| 		mi := &file_headscale_v1_machine_proto_msgTypes[5] | ||||
| 		mi := &file_headscale_v1_machine_proto_msgTypes[7] | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		ms.StoreMessageInfo(mi) | ||||
| 	} | ||||
| @ -436,7 +538,7 @@ func (x *DeleteMachineRequest) String() string { | ||||
| func (*DeleteMachineRequest) ProtoMessage() {} | ||||
| 
 | ||||
| func (x *DeleteMachineRequest) ProtoReflect() protoreflect.Message { | ||||
| 	mi := &file_headscale_v1_machine_proto_msgTypes[5] | ||||
| 	mi := &file_headscale_v1_machine_proto_msgTypes[7] | ||||
| 	if protoimpl.UnsafeEnabled && x != nil { | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		if ms.LoadMessageInfo() == nil { | ||||
| @ -449,7 +551,7 @@ func (x *DeleteMachineRequest) ProtoReflect() protoreflect.Message { | ||||
| 
 | ||||
| // Deprecated: Use DeleteMachineRequest.ProtoReflect.Descriptor instead. | ||||
| func (*DeleteMachineRequest) Descriptor() ([]byte, []int) { | ||||
| 	return file_headscale_v1_machine_proto_rawDescGZIP(), []int{5} | ||||
| 	return file_headscale_v1_machine_proto_rawDescGZIP(), []int{7} | ||||
| } | ||||
| 
 | ||||
| func (x *DeleteMachineRequest) GetMachineId() uint64 { | ||||
| @ -468,7 +570,7 @@ type DeleteMachineResponse struct { | ||||
| func (x *DeleteMachineResponse) Reset() { | ||||
| 	*x = DeleteMachineResponse{} | ||||
| 	if protoimpl.UnsafeEnabled { | ||||
| 		mi := &file_headscale_v1_machine_proto_msgTypes[6] | ||||
| 		mi := &file_headscale_v1_machine_proto_msgTypes[8] | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		ms.StoreMessageInfo(mi) | ||||
| 	} | ||||
| @ -481,7 +583,7 @@ func (x *DeleteMachineResponse) String() string { | ||||
| func (*DeleteMachineResponse) ProtoMessage() {} | ||||
| 
 | ||||
| func (x *DeleteMachineResponse) ProtoReflect() protoreflect.Message { | ||||
| 	mi := &file_headscale_v1_machine_proto_msgTypes[6] | ||||
| 	mi := &file_headscale_v1_machine_proto_msgTypes[8] | ||||
| 	if protoimpl.UnsafeEnabled && x != nil { | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		if ms.LoadMessageInfo() == nil { | ||||
| @ -494,7 +596,7 @@ func (x *DeleteMachineResponse) ProtoReflect() protoreflect.Message { | ||||
| 
 | ||||
| // Deprecated: Use DeleteMachineResponse.ProtoReflect.Descriptor instead. | ||||
| func (*DeleteMachineResponse) Descriptor() ([]byte, []int) { | ||||
| 	return file_headscale_v1_machine_proto_rawDescGZIP(), []int{6} | ||||
| 	return file_headscale_v1_machine_proto_rawDescGZIP(), []int{8} | ||||
| } | ||||
| 
 | ||||
| type ExpireMachineRequest struct { | ||||
| @ -508,7 +610,7 @@ type ExpireMachineRequest struct { | ||||
| func (x *ExpireMachineRequest) Reset() { | ||||
| 	*x = ExpireMachineRequest{} | ||||
| 	if protoimpl.UnsafeEnabled { | ||||
| 		mi := &file_headscale_v1_machine_proto_msgTypes[7] | ||||
| 		mi := &file_headscale_v1_machine_proto_msgTypes[9] | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		ms.StoreMessageInfo(mi) | ||||
| 	} | ||||
| @ -521,7 +623,7 @@ func (x *ExpireMachineRequest) String() string { | ||||
| func (*ExpireMachineRequest) ProtoMessage() {} | ||||
| 
 | ||||
| func (x *ExpireMachineRequest) ProtoReflect() protoreflect.Message { | ||||
| 	mi := &file_headscale_v1_machine_proto_msgTypes[7] | ||||
| 	mi := &file_headscale_v1_machine_proto_msgTypes[9] | ||||
| 	if protoimpl.UnsafeEnabled && x != nil { | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		if ms.LoadMessageInfo() == nil { | ||||
| @ -534,7 +636,7 @@ func (x *ExpireMachineRequest) ProtoReflect() protoreflect.Message { | ||||
| 
 | ||||
| // Deprecated: Use ExpireMachineRequest.ProtoReflect.Descriptor instead. | ||||
| func (*ExpireMachineRequest) Descriptor() ([]byte, []int) { | ||||
| 	return file_headscale_v1_machine_proto_rawDescGZIP(), []int{7} | ||||
| 	return file_headscale_v1_machine_proto_rawDescGZIP(), []int{9} | ||||
| } | ||||
| 
 | ||||
| func (x *ExpireMachineRequest) GetMachineId() uint64 { | ||||
| @ -555,7 +657,7 @@ type ExpireMachineResponse struct { | ||||
| func (x *ExpireMachineResponse) Reset() { | ||||
| 	*x = ExpireMachineResponse{} | ||||
| 	if protoimpl.UnsafeEnabled { | ||||
| 		mi := &file_headscale_v1_machine_proto_msgTypes[8] | ||||
| 		mi := &file_headscale_v1_machine_proto_msgTypes[10] | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		ms.StoreMessageInfo(mi) | ||||
| 	} | ||||
| @ -568,7 +670,7 @@ func (x *ExpireMachineResponse) String() string { | ||||
| func (*ExpireMachineResponse) ProtoMessage() {} | ||||
| 
 | ||||
| func (x *ExpireMachineResponse) ProtoReflect() protoreflect.Message { | ||||
| 	mi := &file_headscale_v1_machine_proto_msgTypes[8] | ||||
| 	mi := &file_headscale_v1_machine_proto_msgTypes[10] | ||||
| 	if protoimpl.UnsafeEnabled && x != nil { | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		if ms.LoadMessageInfo() == nil { | ||||
| @ -581,7 +683,7 @@ func (x *ExpireMachineResponse) ProtoReflect() protoreflect.Message { | ||||
| 
 | ||||
| // Deprecated: Use ExpireMachineResponse.ProtoReflect.Descriptor instead. | ||||
| func (*ExpireMachineResponse) Descriptor() ([]byte, []int) { | ||||
| 	return file_headscale_v1_machine_proto_rawDescGZIP(), []int{8} | ||||
| 	return file_headscale_v1_machine_proto_rawDescGZIP(), []int{10} | ||||
| } | ||||
| 
 | ||||
| func (x *ExpireMachineResponse) GetMachine() *Machine { | ||||
| @ -602,7 +704,7 @@ type ListMachinesRequest struct { | ||||
| func (x *ListMachinesRequest) Reset() { | ||||
| 	*x = ListMachinesRequest{} | ||||
| 	if protoimpl.UnsafeEnabled { | ||||
| 		mi := &file_headscale_v1_machine_proto_msgTypes[9] | ||||
| 		mi := &file_headscale_v1_machine_proto_msgTypes[11] | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		ms.StoreMessageInfo(mi) | ||||
| 	} | ||||
| @ -615,7 +717,7 @@ func (x *ListMachinesRequest) String() string { | ||||
| func (*ListMachinesRequest) ProtoMessage() {} | ||||
| 
 | ||||
| func (x *ListMachinesRequest) ProtoReflect() protoreflect.Message { | ||||
| 	mi := &file_headscale_v1_machine_proto_msgTypes[9] | ||||
| 	mi := &file_headscale_v1_machine_proto_msgTypes[11] | ||||
| 	if protoimpl.UnsafeEnabled && x != nil { | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		if ms.LoadMessageInfo() == nil { | ||||
| @ -628,7 +730,7 @@ func (x *ListMachinesRequest) ProtoReflect() protoreflect.Message { | ||||
| 
 | ||||
| // Deprecated: Use ListMachinesRequest.ProtoReflect.Descriptor instead. | ||||
| func (*ListMachinesRequest) Descriptor() ([]byte, []int) { | ||||
| 	return file_headscale_v1_machine_proto_rawDescGZIP(), []int{9} | ||||
| 	return file_headscale_v1_machine_proto_rawDescGZIP(), []int{11} | ||||
| } | ||||
| 
 | ||||
| func (x *ListMachinesRequest) GetNamespace() string { | ||||
| @ -649,7 +751,7 @@ type ListMachinesResponse struct { | ||||
| func (x *ListMachinesResponse) Reset() { | ||||
| 	*x = ListMachinesResponse{} | ||||
| 	if protoimpl.UnsafeEnabled { | ||||
| 		mi := &file_headscale_v1_machine_proto_msgTypes[10] | ||||
| 		mi := &file_headscale_v1_machine_proto_msgTypes[12] | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		ms.StoreMessageInfo(mi) | ||||
| 	} | ||||
| @ -662,7 +764,7 @@ func (x *ListMachinesResponse) String() string { | ||||
| func (*ListMachinesResponse) ProtoMessage() {} | ||||
| 
 | ||||
| func (x *ListMachinesResponse) ProtoReflect() protoreflect.Message { | ||||
| 	mi := &file_headscale_v1_machine_proto_msgTypes[10] | ||||
| 	mi := &file_headscale_v1_machine_proto_msgTypes[12] | ||||
| 	if protoimpl.UnsafeEnabled && x != nil { | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		if ms.LoadMessageInfo() == nil { | ||||
| @ -675,7 +777,7 @@ func (x *ListMachinesResponse) ProtoReflect() protoreflect.Message { | ||||
| 
 | ||||
| // Deprecated: Use ListMachinesResponse.ProtoReflect.Descriptor instead. | ||||
| func (*ListMachinesResponse) Descriptor() ([]byte, []int) { | ||||
| 	return file_headscale_v1_machine_proto_rawDescGZIP(), []int{10} | ||||
| 	return file_headscale_v1_machine_proto_rawDescGZIP(), []int{12} | ||||
| } | ||||
| 
 | ||||
| func (x *ListMachinesResponse) GetMachines() []*Machine { | ||||
| @ -699,7 +801,7 @@ type DebugCreateMachineRequest struct { | ||||
| func (x *DebugCreateMachineRequest) Reset() { | ||||
| 	*x = DebugCreateMachineRequest{} | ||||
| 	if protoimpl.UnsafeEnabled { | ||||
| 		mi := &file_headscale_v1_machine_proto_msgTypes[11] | ||||
| 		mi := &file_headscale_v1_machine_proto_msgTypes[13] | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		ms.StoreMessageInfo(mi) | ||||
| 	} | ||||
| @ -712,7 +814,7 @@ func (x *DebugCreateMachineRequest) String() string { | ||||
| func (*DebugCreateMachineRequest) ProtoMessage() {} | ||||
| 
 | ||||
| func (x *DebugCreateMachineRequest) ProtoReflect() protoreflect.Message { | ||||
| 	mi := &file_headscale_v1_machine_proto_msgTypes[11] | ||||
| 	mi := &file_headscale_v1_machine_proto_msgTypes[13] | ||||
| 	if protoimpl.UnsafeEnabled && x != nil { | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		if ms.LoadMessageInfo() == nil { | ||||
| @ -725,7 +827,7 @@ func (x *DebugCreateMachineRequest) ProtoReflect() protoreflect.Message { | ||||
| 
 | ||||
| // Deprecated: Use DebugCreateMachineRequest.ProtoReflect.Descriptor instead. | ||||
| func (*DebugCreateMachineRequest) Descriptor() ([]byte, []int) { | ||||
| 	return file_headscale_v1_machine_proto_rawDescGZIP(), []int{11} | ||||
| 	return file_headscale_v1_machine_proto_rawDescGZIP(), []int{13} | ||||
| } | ||||
| 
 | ||||
| func (x *DebugCreateMachineRequest) GetNamespace() string { | ||||
| @ -767,7 +869,7 @@ type DebugCreateMachineResponse struct { | ||||
| func (x *DebugCreateMachineResponse) Reset() { | ||||
| 	*x = DebugCreateMachineResponse{} | ||||
| 	if protoimpl.UnsafeEnabled { | ||||
| 		mi := &file_headscale_v1_machine_proto_msgTypes[12] | ||||
| 		mi := &file_headscale_v1_machine_proto_msgTypes[14] | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		ms.StoreMessageInfo(mi) | ||||
| 	} | ||||
| @ -780,7 +882,7 @@ func (x *DebugCreateMachineResponse) String() string { | ||||
| func (*DebugCreateMachineResponse) ProtoMessage() {} | ||||
| 
 | ||||
| func (x *DebugCreateMachineResponse) ProtoReflect() protoreflect.Message { | ||||
| 	mi := &file_headscale_v1_machine_proto_msgTypes[12] | ||||
| 	mi := &file_headscale_v1_machine_proto_msgTypes[14] | ||||
| 	if protoimpl.UnsafeEnabled && x != nil { | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		if ms.LoadMessageInfo() == nil { | ||||
| @ -793,7 +895,7 @@ func (x *DebugCreateMachineResponse) ProtoReflect() protoreflect.Message { | ||||
| 
 | ||||
| // Deprecated: Use DebugCreateMachineResponse.ProtoReflect.Descriptor instead. | ||||
| func (*DebugCreateMachineResponse) Descriptor() ([]byte, []int) { | ||||
| 	return file_headscale_v1_machine_proto_rawDescGZIP(), []int{12} | ||||
| 	return file_headscale_v1_machine_proto_rawDescGZIP(), []int{14} | ||||
| } | ||||
| 
 | ||||
| func (x *DebugCreateMachineResponse) GetMachine() *Machine { | ||||
| @ -814,7 +916,7 @@ var file_headscale_v1_machine_proto_rawDesc = []byte{ | ||||
| 	0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, | ||||
| 	0x61, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x68, 0x65, 0x61, 0x64, 0x73, | ||||
| 	0x63, 0x61, 0x6c, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x65, 0x61, 0x75, 0x74, 0x68, 0x6b, | ||||
| 	0x65, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdd, 0x04, 0x0a, 0x07, 0x4d, 0x61, 0x63, | ||||
| 	0x65, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfe, 0x04, 0x0a, 0x07, 0x4d, 0x61, 0x63, | ||||
| 	0x68, 0x69, 0x6e, 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, | ||||
| @ -852,69 +954,80 @@ var file_headscale_v1_machine_proto_rawDesc = []byte{ | ||||
| 	0x74, 0x68, 0x6f, 0x64, 0x18, 0x0d, 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, 0x22, 0x48, 0x0a, 0x16, 0x52, 0x65, 0x67, 0x69, | ||||
| 	0x73, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, | ||||
| 	0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, | ||||
| 	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, | ||||
| 	0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, | ||||
| 	0x65, 0x79, 0x22, 0x4a, 0x0a, 0x17, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x61, | ||||
| 	0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, | ||||
| 	0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, | ||||
| 	0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, | ||||
| 	0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 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, 0x45, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, | ||||
| 	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x68, | ||||
| 	0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x68, 0x65, 0x61, 0x64, | ||||
| 	0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, | ||||
| 	0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x22, 0x35, 0x0a, 0x14, 0x44, 0x65, 0x6c, | ||||
| 	0x65, 0x74, 0x65, 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, 0x17, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, | ||||
| 	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x0a, 0x14, 0x45, 0x78, 0x70, | ||||
| 	0x69, 0x72, 0x65, 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, 0x48, 0x0a, 0x15, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, | ||||
| 	0x65, 0x72, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x6f, 0x72, 0x63, | ||||
| 	0x65, 0x64, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x66, | ||||
| 	0x6f, 0x72, 0x63, 0x65, 0x64, 0x54, 0x61, 0x67, 0x73, 0x22, 0x48, 0x0a, 0x16, 0x52, 0x65, 0x67, | ||||
| 	0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, | ||||
| 	0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, | ||||
| 	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, | ||||
| 	0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, | ||||
| 	0x6b, 0x65, 0x79, 0x22, 0x4a, 0x0a, 0x17, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, | ||||
| 	0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, | ||||
| 	0x0a, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, | ||||
| 	0x15, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, | ||||
| 	0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 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, 0x45, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, | ||||
| 	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x07, 0x6d, 0x61, 0x63, | ||||
| 	0x68, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x68, 0x65, 0x61, | ||||
| 	0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, | ||||
| 	0x65, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x22, 0x33, 0x0a, 0x13, 0x4c, 0x69, | ||||
| 	0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, | ||||
| 	0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, | ||||
| 	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, | ||||
| 	0x49, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x52, | ||||
| 	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x08, 0x6d, 0x61, 0x63, 0x68, 0x69, | ||||
| 	0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x68, 0x65, 0x61, 0x64, | ||||
| 	0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, | ||||
| 	0x52, 0x08, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x22, 0x77, 0x0a, 0x19, 0x44, 0x65, | ||||
| 	0x62, 0x75, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, | ||||
| 	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, | ||||
| 	0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, | ||||
| 	0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, | ||||
| 	0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, | ||||
| 	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, | ||||
| 	0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x75, | ||||
| 	0x74, 0x65, 0x73, 0x22, 0x4d, 0x0a, 0x1a, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x72, 0x65, 0x61, | ||||
| 	0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, | ||||
| 	0x65, 0x12, 0x2f, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, | ||||
| 	0x28, 0x0b, 0x32, 0x15, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, | ||||
| 	0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, | ||||
| 	0x6e, 0x65, 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, 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, | ||||
| 	0x65, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x22, 0x47, 0x0a, 0x14, 0x55, 0x70, | ||||
| 	0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, | ||||
| 	0x73, 0x74, 0x12, 0x2f, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, | ||||
| 	0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, | ||||
| 	0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, | ||||
| 	0x69, 0x6e, 0x65, 0x22, 0x48, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, | ||||
| 	0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x07, | ||||
| 	0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, | ||||
| 	0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, | ||||
| 	0x68, 0x69, 0x6e, 0x65, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x22, 0x35, 0x0a, | ||||
| 	0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 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, 0x17, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, | ||||
| 	0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x0a, | ||||
| 	0x14, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 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, 0x48, 0x0a, 0x15, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x4d, 0x61, | ||||
| 	0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, | ||||
| 	0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, | ||||
| 	0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, | ||||
| 	0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x22, 0x33, | ||||
| 	0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, | ||||
| 	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, | ||||
| 	0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, | ||||
| 	0x61, 0x63, 0x65, 0x22, 0x49, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, | ||||
| 	0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x08, 0x6d, | ||||
| 	0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, | ||||
| 	0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, | ||||
| 	0x68, 0x69, 0x6e, 0x65, 0x52, 0x08, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x22, 0x77, | ||||
| 	0x0a, 0x19, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, | ||||
| 	0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, | ||||
| 	0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, | ||||
| 	0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, | ||||
| 	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, | ||||
| 	0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, | ||||
| 	0x16, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, | ||||
| 	0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0x4d, 0x0a, 0x1a, 0x44, 0x65, 0x62, 0x75, 0x67, | ||||
| 	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, | ||||
| 	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, | ||||
| 	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, | ||||
| 	0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x07, 0x6d, | ||||
| 	0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 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, 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 ( | ||||
| @ -930,7 +1043,7 @@ func file_headscale_v1_machine_proto_rawDescGZIP() []byte { | ||||
| } | ||||
| 
 | ||||
| var file_headscale_v1_machine_proto_enumTypes = make([]protoimpl.EnumInfo, 1) | ||||
| var file_headscale_v1_machine_proto_msgTypes = make([]protoimpl.MessageInfo, 13) | ||||
| var file_headscale_v1_machine_proto_msgTypes = make([]protoimpl.MessageInfo, 15) | ||||
| var file_headscale_v1_machine_proto_goTypes = []interface{}{ | ||||
| 	(RegisterMethod)(0),                // 0: headscale.v1.RegisterMethod | ||||
| 	(*Machine)(nil),                    // 1: headscale.v1.Machine | ||||
| @ -938,36 +1051,40 @@ var file_headscale_v1_machine_proto_goTypes = []interface{}{ | ||||
| 	(*RegisterMachineResponse)(nil),    // 3: headscale.v1.RegisterMachineResponse | ||||
| 	(*GetMachineRequest)(nil),          // 4: headscale.v1.GetMachineRequest | ||||
| 	(*GetMachineResponse)(nil),         // 5: headscale.v1.GetMachineResponse | ||||
| 	(*DeleteMachineRequest)(nil),       // 6: headscale.v1.DeleteMachineRequest | ||||
| 	(*DeleteMachineResponse)(nil),      // 7: headscale.v1.DeleteMachineResponse | ||||
| 	(*ExpireMachineRequest)(nil),       // 8: headscale.v1.ExpireMachineRequest | ||||
| 	(*ExpireMachineResponse)(nil),      // 9: headscale.v1.ExpireMachineResponse | ||||
| 	(*ListMachinesRequest)(nil),        // 10: headscale.v1.ListMachinesRequest | ||||
| 	(*ListMachinesResponse)(nil),       // 11: headscale.v1.ListMachinesResponse | ||||
| 	(*DebugCreateMachineRequest)(nil),  // 12: headscale.v1.DebugCreateMachineRequest | ||||
| 	(*DebugCreateMachineResponse)(nil), // 13: headscale.v1.DebugCreateMachineResponse | ||||
| 	(*Namespace)(nil),                  // 14: headscale.v1.Namespace | ||||
| 	(*timestamppb.Timestamp)(nil),      // 15: google.protobuf.Timestamp | ||||
| 	(*PreAuthKey)(nil),                 // 16: headscale.v1.PreAuthKey | ||||
| 	(*UpdateMachineRequest)(nil),       // 6: headscale.v1.UpdateMachineRequest | ||||
| 	(*UpdateMachineResponse)(nil),      // 7: headscale.v1.UpdateMachineResponse | ||||
| 	(*DeleteMachineRequest)(nil),       // 8: headscale.v1.DeleteMachineRequest | ||||
| 	(*DeleteMachineResponse)(nil),      // 9: headscale.v1.DeleteMachineResponse | ||||
| 	(*ExpireMachineRequest)(nil),       // 10: headscale.v1.ExpireMachineRequest | ||||
| 	(*ExpireMachineResponse)(nil),      // 11: headscale.v1.ExpireMachineResponse | ||||
| 	(*ListMachinesRequest)(nil),        // 12: headscale.v1.ListMachinesRequest | ||||
| 	(*ListMachinesResponse)(nil),       // 13: headscale.v1.ListMachinesResponse | ||||
| 	(*DebugCreateMachineRequest)(nil),  // 14: headscale.v1.DebugCreateMachineRequest | ||||
| 	(*DebugCreateMachineResponse)(nil), // 15: headscale.v1.DebugCreateMachineResponse | ||||
| 	(*Namespace)(nil),                  // 16: headscale.v1.Namespace | ||||
| 	(*timestamppb.Timestamp)(nil),      // 17: google.protobuf.Timestamp | ||||
| 	(*PreAuthKey)(nil),                 // 18: headscale.v1.PreAuthKey | ||||
| } | ||||
| var file_headscale_v1_machine_proto_depIdxs = []int32{ | ||||
| 	14, // 0: headscale.v1.Machine.namespace:type_name -> headscale.v1.Namespace | ||||
| 	15, // 1: headscale.v1.Machine.last_seen:type_name -> google.protobuf.Timestamp | ||||
| 	15, // 2: headscale.v1.Machine.last_successful_update:type_name -> google.protobuf.Timestamp | ||||
| 	15, // 3: headscale.v1.Machine.expiry:type_name -> google.protobuf.Timestamp | ||||
| 	16, // 4: headscale.v1.Machine.pre_auth_key:type_name -> headscale.v1.PreAuthKey | ||||
| 	15, // 5: headscale.v1.Machine.created_at:type_name -> google.protobuf.Timestamp | ||||
| 	16, // 0: headscale.v1.Machine.namespace:type_name -> headscale.v1.Namespace | ||||
| 	17, // 1: headscale.v1.Machine.last_seen:type_name -> google.protobuf.Timestamp | ||||
| 	17, // 2: headscale.v1.Machine.last_successful_update:type_name -> google.protobuf.Timestamp | ||||
| 	17, // 3: headscale.v1.Machine.expiry:type_name -> google.protobuf.Timestamp | ||||
| 	18, // 4: headscale.v1.Machine.pre_auth_key:type_name -> headscale.v1.PreAuthKey | ||||
| 	17, // 5: headscale.v1.Machine.created_at:type_name -> google.protobuf.Timestamp | ||||
| 	0,  // 6: headscale.v1.Machine.register_method:type_name -> headscale.v1.RegisterMethod | ||||
| 	1,  // 7: headscale.v1.RegisterMachineResponse.machine:type_name -> headscale.v1.Machine | ||||
| 	1,  // 8: headscale.v1.GetMachineResponse.machine:type_name -> headscale.v1.Machine | ||||
| 	1,  // 9: headscale.v1.ExpireMachineResponse.machine:type_name -> headscale.v1.Machine | ||||
| 	1,  // 10: headscale.v1.ListMachinesResponse.machines:type_name -> headscale.v1.Machine | ||||
| 	1,  // 11: headscale.v1.DebugCreateMachineResponse.machine:type_name -> headscale.v1.Machine | ||||
| 	12, // [12:12] is the sub-list for method output_type | ||||
| 	12, // [12:12] is the sub-list for method input_type | ||||
| 	12, // [12:12] is the sub-list for extension type_name | ||||
| 	12, // [12:12] is the sub-list for extension extendee | ||||
| 	0,  // [0:12] is the sub-list for field type_name | ||||
| 	1,  // 9: headscale.v1.UpdateMachineRequest.machine:type_name -> headscale.v1.Machine | ||||
| 	1,  // 10: headscale.v1.UpdateMachineResponse.machine:type_name -> headscale.v1.Machine | ||||
| 	1,  // 11: headscale.v1.ExpireMachineResponse.machine:type_name -> headscale.v1.Machine | ||||
| 	1,  // 12: headscale.v1.ListMachinesResponse.machines:type_name -> headscale.v1.Machine | ||||
| 	1,  // 13: headscale.v1.DebugCreateMachineResponse.machine:type_name -> headscale.v1.Machine | ||||
| 	14, // [14:14] is the sub-list for method output_type | ||||
| 	14, // [14:14] is the sub-list for method input_type | ||||
| 	14, // [14:14] is the sub-list for extension type_name | ||||
| 	14, // [14:14] is the sub-list for extension extendee | ||||
| 	0,  // [0:14] is the sub-list for field type_name | ||||
| } | ||||
| 
 | ||||
| func init() { file_headscale_v1_machine_proto_init() } | ||||
| @ -1039,7 +1156,7 @@ func file_headscale_v1_machine_proto_init() { | ||||
| 			} | ||||
| 		} | ||||
| 		file_headscale_v1_machine_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { | ||||
| 			switch v := v.(*DeleteMachineRequest); i { | ||||
| 			switch v := v.(*UpdateMachineRequest); i { | ||||
| 			case 0: | ||||
| 				return &v.state | ||||
| 			case 1: | ||||
| @ -1051,7 +1168,7 @@ func file_headscale_v1_machine_proto_init() { | ||||
| 			} | ||||
| 		} | ||||
| 		file_headscale_v1_machine_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { | ||||
| 			switch v := v.(*DeleteMachineResponse); i { | ||||
| 			switch v := v.(*UpdateMachineResponse); i { | ||||
| 			case 0: | ||||
| 				return &v.state | ||||
| 			case 1: | ||||
| @ -1063,7 +1180,7 @@ func file_headscale_v1_machine_proto_init() { | ||||
| 			} | ||||
| 		} | ||||
| 		file_headscale_v1_machine_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { | ||||
| 			switch v := v.(*ExpireMachineRequest); i { | ||||
| 			switch v := v.(*DeleteMachineRequest); i { | ||||
| 			case 0: | ||||
| 				return &v.state | ||||
| 			case 1: | ||||
| @ -1075,7 +1192,7 @@ func file_headscale_v1_machine_proto_init() { | ||||
| 			} | ||||
| 		} | ||||
| 		file_headscale_v1_machine_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { | ||||
| 			switch v := v.(*ExpireMachineResponse); i { | ||||
| 			switch v := v.(*DeleteMachineResponse); i { | ||||
| 			case 0: | ||||
| 				return &v.state | ||||
| 			case 1: | ||||
| @ -1087,7 +1204,7 @@ func file_headscale_v1_machine_proto_init() { | ||||
| 			} | ||||
| 		} | ||||
| 		file_headscale_v1_machine_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { | ||||
| 			switch v := v.(*ListMachinesRequest); i { | ||||
| 			switch v := v.(*ExpireMachineRequest); i { | ||||
| 			case 0: | ||||
| 				return &v.state | ||||
| 			case 1: | ||||
| @ -1099,7 +1216,7 @@ func file_headscale_v1_machine_proto_init() { | ||||
| 			} | ||||
| 		} | ||||
| 		file_headscale_v1_machine_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { | ||||
| 			switch v := v.(*ListMachinesResponse); i { | ||||
| 			switch v := v.(*ExpireMachineResponse); i { | ||||
| 			case 0: | ||||
| 				return &v.state | ||||
| 			case 1: | ||||
| @ -1111,7 +1228,7 @@ func file_headscale_v1_machine_proto_init() { | ||||
| 			} | ||||
| 		} | ||||
| 		file_headscale_v1_machine_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { | ||||
| 			switch v := v.(*DebugCreateMachineRequest); i { | ||||
| 			switch v := v.(*ListMachinesRequest); i { | ||||
| 			case 0: | ||||
| 				return &v.state | ||||
| 			case 1: | ||||
| @ -1123,6 +1240,30 @@ func file_headscale_v1_machine_proto_init() { | ||||
| 			} | ||||
| 		} | ||||
| 		file_headscale_v1_machine_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { | ||||
| 			switch v := v.(*ListMachinesResponse); i { | ||||
| 			case 0: | ||||
| 				return &v.state | ||||
| 			case 1: | ||||
| 				return &v.sizeCache | ||||
| 			case 2: | ||||
| 				return &v.unknownFields | ||||
| 			default: | ||||
| 				return nil | ||||
| 			} | ||||
| 		} | ||||
| 		file_headscale_v1_machine_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { | ||||
| 			switch v := v.(*DebugCreateMachineRequest); i { | ||||
| 			case 0: | ||||
| 				return &v.state | ||||
| 			case 1: | ||||
| 				return &v.sizeCache | ||||
| 			case 2: | ||||
| 				return &v.unknownFields | ||||
| 			default: | ||||
| 				return nil | ||||
| 			} | ||||
| 		} | ||||
| 		file_headscale_v1_machine_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { | ||||
| 			switch v := v.(*DebugCreateMachineResponse); i { | ||||
| 			case 0: | ||||
| 				return &v.state | ||||
| @ -1141,7 +1282,7 @@ func file_headscale_v1_machine_proto_init() { | ||||
| 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(), | ||||
| 			RawDescriptor: file_headscale_v1_machine_proto_rawDesc, | ||||
| 			NumEnums:      1, | ||||
| 			NumMessages:   13, | ||||
| 			NumMessages:   15, | ||||
| 			NumExtensions: 0, | ||||
| 			NumServices:   0, | ||||
| 		}, | ||||
|  | ||||
| @ -200,6 +200,45 @@ | ||||
|         ] | ||||
|       } | ||||
|     }, | ||||
|     "/api/v1/machine/{machine.id}": { | ||||
|       "post": { | ||||
|         "operationId": "HeadscaleService_UpdateMachine", | ||||
|         "responses": { | ||||
|           "200": { | ||||
|             "description": "A successful response.", | ||||
|             "schema": { | ||||
|               "$ref": "#/definitions/v1UpdateMachineResponse" | ||||
|             } | ||||
|           }, | ||||
|           "default": { | ||||
|             "description": "An unexpected error response.", | ||||
|             "schema": { | ||||
|               "$ref": "#/definitions/rpcStatus" | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "parameters": [ | ||||
|           { | ||||
|             "name": "machine.id", | ||||
|             "in": "path", | ||||
|             "required": true, | ||||
|             "type": "string", | ||||
|             "format": "uint64" | ||||
|           }, | ||||
|           { | ||||
|             "name": "body", | ||||
|             "in": "body", | ||||
|             "required": true, | ||||
|             "schema": { | ||||
|               "$ref": "#/definitions/v1UpdateMachineRequest" | ||||
|             } | ||||
|           } | ||||
|         ], | ||||
|         "tags": [ | ||||
|           "HeadscaleService" | ||||
|         ] | ||||
|       } | ||||
|     }, | ||||
|     "/api/v1/machine/{machineId}": { | ||||
|       "get": { | ||||
|         "operationId": "HeadscaleService_GetMachine", | ||||
| @ -906,6 +945,12 @@ | ||||
|         }, | ||||
|         "registerMethod": { | ||||
|           "$ref": "#/definitions/v1RegisterMethod" | ||||
|         }, | ||||
|         "forcedTags": { | ||||
|           "type": "array", | ||||
|           "items": { | ||||
|             "type": "string" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
| @ -997,6 +1042,22 @@ | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "v1UpdateMachineRequest": { | ||||
|       "type": "object", | ||||
|       "properties": { | ||||
|         "machine": { | ||||
|           "$ref": "#/definitions/v1Machine" | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "v1UpdateMachineResponse": { | ||||
|       "type": "object", | ||||
|       "properties": { | ||||
|         "machine": { | ||||
|           "$ref": "#/definitions/v1Machine" | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
							
								
								
									
										35
									
								
								grpcv1.go
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								grpcv1.go
									
									
									
									
									
								
							| @ -3,9 +3,11 @@ package headscale | ||||
| 
 | ||||
| import ( | ||||
| 	"context" | ||||
| 	"fmt" | ||||
| 	"strconv" | ||||
| 	"time" | ||||
| 
 | ||||
| 	"github.com/juanfont/headscale/gen/go/headscale/v1" | ||||
| 	v1 "github.com/juanfont/headscale/gen/go/headscale/v1" | ||||
| 	"github.com/rs/zerolog/log" | ||||
| 	"tailscale.com/tailcfg" | ||||
| ) | ||||
| @ -182,6 +184,37 @@ func (api headscaleV1APIServer) GetMachine( | ||||
| 	return &v1.GetMachineResponse{Machine: machine.toProto()}, nil | ||||
| } | ||||
| 
 | ||||
| func (api headscaleV1APIServer) UpdateMachine( | ||||
| 	ctx context.Context, | ||||
| 	request *v1.UpdateMachineRequest, | ||||
| ) (*v1.UpdateMachineResponse, error) { | ||||
| 	rMachine := request.GetMachine() | ||||
| 	machine, err := api.h.GetMachineByID(rMachine.Id) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 
 | ||||
| 	machine.ForcedTags = rMachine.ForcedTags | ||||
| 	machine.Name = rMachine.Name | ||||
| 	id, err := strconv.Atoi(rMachine.Namespace.Id) | ||||
| 	if err != nil { | ||||
| 		return nil, fmt.Errorf("failed to convert namespace id to integer: %w", err) | ||||
| 	} | ||||
| 	machine.NamespaceID = uint(id) | ||||
| 
 | ||||
| 	err = api.h.UpdateDBMachine(*machine) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 
 | ||||
| 	machine, err = api.h.GetMachineByID(rMachine.Id) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 
 | ||||
| 	return &v1.UpdateMachineResponse{Machine: machine.toProto()}, nil | ||||
| } | ||||
| 
 | ||||
| func (api headscaleV1APIServer) DeleteMachine( | ||||
| 	ctx context.Context, | ||||
| 	request *v1.DeleteMachineRequest, | ||||
|  | ||||
							
								
								
									
										19
									
								
								machine.go
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								machine.go
									
									
									
									
									
								
							| @ -45,6 +45,8 @@ type Machine struct { | ||||
| 
 | ||||
| 	RegisterMethod string | ||||
| 
 | ||||
| 	ForcedTags StringList | ||||
| 
 | ||||
| 	// TODO(kradalby): This seems like irrelevant information? | ||||
| 	AuthKeyID uint | ||||
| 	AuthKey   *PreAuthKey | ||||
| @ -357,6 +359,22 @@ func (h *Headscale) UpdateMachine(machine *Machine) error { | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| // UpdateDBMachine takes a Machine struct pointer (typically already loaded from database | ||||
| // search for the same machine in the database and update the latter | ||||
| func (h *Headscale) UpdateDBMachine(machine Machine) error { | ||||
| 	destMachine := Machine{} | ||||
| 	if result := h.db.Where("id = ?", machine.ID).Find(&destMachine); result.Error != nil { | ||||
| 		return result.Error | ||||
| 	} | ||||
| 	destMachine.Name = machine.Name | ||||
| 	destMachine.NamespaceID = machine.NamespaceID | ||||
| 	destMachine.ForcedTags = machine.ForcedTags | ||||
| 
 | ||||
| 	h.db.Save(destMachine) | ||||
| 
 | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| // ExpireMachine takes a Machine struct and sets the expire field to now. | ||||
| func (h *Headscale) ExpireMachine(machine *Machine) { | ||||
| 	now := time.Now() | ||||
| @ -613,6 +631,7 @@ func (machine *Machine) toProto() *v1.Machine { | ||||
| 		IpAddresses: machine.IPAddresses.ToStringSlice(), | ||||
| 		Name:        machine.Name, | ||||
| 		Namespace:   machine.Namespace.toProto(), | ||||
| 		ForcedTags: machine.ForcedTags, | ||||
| 
 | ||||
| 		// TODO(kradalby): Implement register method enum converter | ||||
| 		// RegisterMethod: , | ||||
|  | ||||
| @ -81,6 +81,13 @@ service HeadscaleService { | ||||
|         }; | ||||
|     } | ||||
| 
 | ||||
|     rpc UpdateMachine(UpdateMachineRequest) returns (UpdateMachineResponse) { | ||||
|         option (google.api.http) = { | ||||
|             post: "/api/v1/machine/{machine.id}" | ||||
|             body: "*" | ||||
|         }; | ||||
|     } | ||||
| 
 | ||||
|     rpc RegisterMachine(RegisterMachineRequest) returns (RegisterMachineResponse) { | ||||
|         option (google.api.http) = { | ||||
|             post: "/api/v1/machine/register" | ||||
|  | ||||
| @ -32,6 +32,9 @@ message Machine { | ||||
|     google.protobuf.Timestamp created_at = 12; | ||||
| 
 | ||||
|     RegisterMethod register_method = 13; | ||||
| 
 | ||||
|     repeated string forced_tags = 14; | ||||
| 
 | ||||
|     // google.protobuf.Timestamp updated_at = 14; | ||||
|     // google.protobuf.Timestamp deleted_at = 15; | ||||
| 
 | ||||
| @ -57,6 +60,14 @@ message GetMachineResponse { | ||||
|     Machine machine = 1; | ||||
| } | ||||
| 
 | ||||
| message UpdateMachineRequest { | ||||
|     Machine machine = 1; | ||||
| } | ||||
| 
 | ||||
| message UpdateMachineResponse { | ||||
|     Machine machine = 1; | ||||
| } | ||||
| 
 | ||||
| message DeleteMachineRequest { | ||||
|     uint64 machine_id = 1; | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user