60 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """Outpost API Views"""
 | |
| from rest_framework.serializers import JSONField, ModelSerializer
 | |
| from rest_framework.viewsets import ModelViewSet
 | |
| 
 | |
| from passbook.outposts.models import (
 | |
|     DockerServiceConnection,
 | |
|     KubernetesServiceConnection,
 | |
|     Outpost,
 | |
| )
 | |
| 
 | |
| 
 | |
| class OutpostSerializer(ModelSerializer):
 | |
|     """Outpost Serializer"""
 | |
| 
 | |
|     _config = JSONField()
 | |
| 
 | |
|     class Meta:
 | |
| 
 | |
|         model = Outpost
 | |
|         fields = ["pk", "name", "providers", "service_connection", "_config"]
 | |
| 
 | |
| 
 | |
| class OutpostViewSet(ModelViewSet):
 | |
|     """Outpost Viewset"""
 | |
| 
 | |
|     queryset = Outpost.objects.all()
 | |
|     serializer_class = OutpostSerializer
 | |
| 
 | |
| 
 | |
| class DockerServiceConnectionSerializer(ModelSerializer):
 | |
|     """DockerServiceConnection Serializer"""
 | |
| 
 | |
|     class Meta:
 | |
| 
 | |
|         model = DockerServiceConnection
 | |
|         fields = ["pk", "name", "local", "url", "tls"]
 | |
| 
 | |
| 
 | |
| class DockerServiceConnectionViewSet(ModelViewSet):
 | |
|     """DockerServiceConnection Viewset"""
 | |
| 
 | |
|     queryset = DockerServiceConnection.objects.all()
 | |
|     serializer_class = DockerServiceConnectionSerializer
 | |
| 
 | |
| 
 | |
| class KubernetesServiceConnectionSerializer(ModelSerializer):
 | |
|     """KubernetesServiceConnection Serializer"""
 | |
| 
 | |
|     class Meta:
 | |
| 
 | |
|         model = KubernetesServiceConnection
 | |
|         fields = ["pk", "name", "local", "config"]
 | |
| 
 | |
| 
 | |
| class KubernetesServiceConnectionViewSet(ModelViewSet):
 | |
|     """KubernetesServiceConnection Viewset"""
 | |
| 
 | |
|     queryset = KubernetesServiceConnection.objects.all()
 | |
|     serializer_class = KubernetesServiceConnectionSerializer
 | 
