Merge remote-tracking branch 'origin/fnux-stable'

Signed-off-by: Nico Schottelius <nico@nico-notebook.schottelius.org>
This commit is contained in:
Nico Schottelius 2020-03-03 11:23:29 +01:00
commit a50095f873
49 changed files with 1340 additions and 116 deletions

View file

@ -1,7 +1,9 @@
from django.contrib.auth import get_user_model
from rest_framework import serializers
from .models import VMHost, VMProduct, VMSnapshotProduct, VMDiskProduct, VMDiskImageProduct
from uncloud_pay.models import RecurringPeriod
GB_SSD_PER_DAY=0.012
GB_HDD_PER_DAY=0.0006
@ -16,14 +18,7 @@ class VMHostSerializer(serializers.ModelSerializer):
fields = '__all__'
class VMProductSerializer(serializers.ModelSerializer):
class Meta:
model = VMProduct
fields = '__all__'
class VMDiskProductSerializer(serializers.ModelSerializer):
# vm = VMProductSerializer()
class Meta:
model = VMDiskProduct
fields = '__all__'
@ -33,6 +28,25 @@ class VMDiskImageProductSerializer(serializers.ModelSerializer):
model = VMDiskImageProduct
fields = '__all__'
class VMProductSerializer(serializers.HyperlinkedModelSerializer):
# Custom field used at creation (= ordering) only.
recurring_period = serializers.ChoiceField(
choices=VMProduct.allowed_recurring_periods())
class Meta:
model = VMProduct
fields = ['uuid', 'order', 'owner', 'status', 'name', \
'cores', 'ram_in_gb', 'recurring_period']
read_only_fields = ['uuid', 'order', 'owner', 'status']
class ManagedVMProductSerializer(serializers.ModelSerializer):
"""
Managed VM serializer used in ungleich_service app.
"""
class Meta:
model = VMProduct
fields = [ 'cores', 'ram_in_gb']
class VMSnapshotProductSerializer(serializers.ModelSerializer):
class Meta:
model = VMSnapshotProduct