mirror of
				https://github.com/retspen/webvirtcloud
				synced 2025-07-31 12:41:08 +00:00 
			
		
		
		
	add /instance/sshkeys/ endpoint for retrieving instance owners ssh keys
This commit is contained in:
		
							parent
							
								
									b7457a4362
								
							
						
					
					
						commit
						4d08f956fb
					
				
					 2 changed files with 21 additions and 3 deletions
				
			
		|  | @ -14,4 +14,6 @@ urlpatterns = [ | |||
|         views.guess_clone_name, name='guess_clone_name'), | ||||
|     url(r'^check_instance/(?P<vname>[\w\-\.]+)/$', | ||||
|         views.check_instance, name='check_instance'), | ||||
|     url(r'^sshkeys/(?P<vname>[\w\-\.]+)/$', | ||||
|         views.sshkeys, name='sshkeys'), | ||||
| ] | ||||
|  |  | |||
|  | @ -807,7 +807,7 @@ def guess_mac_address(request, vname): | |||
|                 if name_found and "hardware ethernet" in line: | ||||
|                     data['mac'] = line.split(' ')[-1].strip().strip(';') | ||||
|                     break | ||||
|     return HttpResponse(json.dumps(data)); | ||||
|     return HttpResponse(json.dumps(data)) | ||||
| 
 | ||||
| @login_required | ||||
| def guess_clone_name(request): | ||||
|  | @ -823,7 +823,7 @@ def guess_clone_name(request): | |||
|                     hostname = fqdn.split('.')[0] | ||||
|                     if hostname.startswith(prefix) and hostname not in instance_names: | ||||
|                         return HttpResponse(json.dumps({'name': hostname})) | ||||
|     return HttpResponse(json.dumps({})); | ||||
|     return HttpResponse(json.dumps({})) | ||||
| 
 | ||||
| @login_required | ||||
| def check_instance(request, vname): | ||||
|  | @ -831,4 +831,20 @@ def check_instance(request, vname): | |||
|     data = { 'vname': vname, 'exists': False } | ||||
|     if check_instance: | ||||
|         data['exists'] = True | ||||
|     return HttpResponse(json.dumps(data)); | ||||
|     return HttpResponse(json.dumps(data)) | ||||
| 
 | ||||
| def sshkeys(request, vname): | ||||
|     """ | ||||
|     :param request: | ||||
|     :param vm: | ||||
|     :return: | ||||
|     """ | ||||
| 
 | ||||
|     instance_keys = [] | ||||
|     userinstances = UserInstance.objects.filter(instance__name=vname) | ||||
|      | ||||
|     for ui in userinstances: | ||||
|         keys = UserSSHKey.objects.filter(user=ui.user) | ||||
|         for k in keys: | ||||
|             instance_keys.append(k.keypublic) | ||||
|     return HttpResponse(json.dumps(instance_keys)) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue