mirror of
https://github.com/retspen/webvirtcloud
synced 2025-07-31 12:41:08 +00:00
Rest framework (#24)
* Add rest framework for API: First Commit * modify some shell scripts to make variable references safer; modify some python scripts to reduce the code complexity and cyclomatic complexity of functions. * Add REST API for some webvirtcloud functions. Instance list/delete/create, compute list/delete/create, storages-network list/retrieve. Add swagger and redoc for API interface * update requirements Co-authored-by: herengui <herengui@uniontech.com>
This commit is contained in:
parent
92254401dc
commit
cfce71ec2b
42 changed files with 1170 additions and 348 deletions
|
|
@ -1,3 +1,47 @@
|
|||
from django.db import models
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
# Create your models here.
|
||||
class Storages(models.Model):
|
||||
name = models.CharField(_('name'), max_length=20, error_messages={'required': _('No pool name has been entered')})
|
||||
status = models.IntegerField(_('status'))
|
||||
type = models.CharField(_('type'), max_length=100)
|
||||
size = models.IntegerField(_('size'))
|
||||
volumes = models.IntegerField(_('volumes'))
|
||||
|
||||
def __str__(self):
|
||||
return f'{self.name}'
|
||||
|
||||
class Meta:
|
||||
managed = False
|
||||
|
||||
|
||||
class Volume(models.Model):
|
||||
name = models.CharField(_('name'), max_length=128)
|
||||
type = models.CharField(_('format'), max_length=12, choices=(('qcow2', 'qcow2 (recommended)'), ('qcow', 'qcow'), ('raw', 'raw')))
|
||||
allocation = models.IntegerField(_('allocation'))
|
||||
size = models.IntegerField(_('size'))
|
||||
|
||||
def __str__(self):
|
||||
return f'{self.name}'
|
||||
|
||||
class Meta:
|
||||
managed = False
|
||||
verbose_name_plural = "Volumes"
|
||||
|
||||
|
||||
class Storage(models.Model):
|
||||
state = models.IntegerField(_('state'))
|
||||
size = models.IntegerField(_('size'))
|
||||
free = models.IntegerField(_('free'))
|
||||
status = models.CharField(_('status'), max_length=128)
|
||||
path = models.CharField(_('path'), max_length=128)
|
||||
type = models.CharField(_('type'), max_length=128)
|
||||
autostart = models.BooleanField(_('autostart'))
|
||||
volumes = models.ForeignKey(Volume, on_delete=models.DO_NOTHING)
|
||||
|
||||
def __str__(self):
|
||||
return f'{self.path}'
|
||||
|
||||
class Meta:
|
||||
managed = False
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue